为了账号安全,请及时绑定邮箱和手机立即绑定

在 yii 框架中调用未定义的方法 stdClass::save()

在 yii 框架中调用未定义的方法 stdClass::save()

PHP
临摹微笑 2023-03-04 18:12:44
我正在建立聊天弹出窗口,一个用户将在其中发起与另一个用户的对话。在我的 initietchat 函数中,我有以下错误调用未定义的方法 stdClass::save()。查看代码并找到THIS SAVE FUNCTION ==>>抛出错误的 save() 函数。如果两个用户已经发起对话,则不会发生此错误。public function actionInitiatechat() {        if (isset($_POST)){            //$message = Myclass::checkPostvalue($_POST['message']) ? $_POST['message'] : "";            $senderId = Myclass::checkPostvalue($_POST['sender']) ? $_POST['sender'] : "";            $receiverId = Myclass::checkPostvalue($_POST['receiver']) ? $_POST['receiver'] : "";            $messageType = Myclass::checkPostvalue($_POST['messageType']) ? $_POST['messageType'] : "";            $sourceId = Myclass::checkPostvalue($_POST['sourceId']) ? $_POST['sourceId'] : "";            $timeUpdate = time();            $message = $_POST['message'];            $Products = Products::model()->findByPk($sourceId);            if(isset($Products) && $Products->approvedStatus == 0)            {                echo "error";            }            else            {    $criteria = new CDbCriteria;                    $criteria->condition = "(user1 = '$senderId' AND user2 = '$receiverId') OR (user1 = '$receiverId' AND user2 = '$senderId')";                    $chatModel = Chats::model()->find($criteria);                    $encodeMsg = urlencode($message);                    if (empty($chatModel)){                        $newChat = new Chats();                        $newChat->user1 = $senderId;                        $newChat->user2 = $receiverId;                        $newChat->lastMessage = $encodeMsg;                        $newChat->lastToRead = $receiverId;                        $newChat->lastContacted = $timeUpdate;                        $newChat->save();                        $criteria = new CDbCriteria;                        $criteria->condition = "(user1 = '$senderId' AND user2 = '$receiverId') OR (user1 = '$receiverId' AND user2 = '$senderId')";
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

下面的语句大概是返回一个“裸”类型的对象stdClass,它没有定义save()方法,因此你的错误。

$chatModel = Chats::model()->find($criteria);

在此语句之后立即运行var_dump($chatModel);并查看您获得的对象类型。


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 212 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号