在Yii2中聊天无效

时间:2016-08-17 07:40:23

标签: yii2 chat

美好的一天。我想在yii2中将这个https://github.com/sintret/yii2-chat-adminlte聊天添加到我的项目中。我按照说明操作,但它没有工作。请帮帮我。

我是通过作曲家安装的。

"sintret/yii2-chat-adminlte": "dev-master"

创建表

CREATE TABLE `chat` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `userId` INT(11) DEFAULT NULL,
  `message` TEXT,
  `updateDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=INNODB;

添加控制器

public function actionSendChat() {
    $message = $_POST['message'];
    if ($message) {
        $model = new Chat;
        $model -> message = $message;
        if ($model -> save()) {
            echo ChatRoom::data();
        } else {
            print_r($model -> getErrors());
            exit(0);
        }
    }
}

在视野中

 <?php
            echo \sintret\chat\ChatRoom::widget([
                    'url' => \yii\helpers\Url::to(['/chat/send-chat']),
                    'userModel'=>  \app\modules\user\models\User::className(),
                    'userField'=>'avatarImage'
                ]
            );
            ?>

模型用户有avatarImage字段。

我将$message = $_POST['message'];更改为$message = \Yii::$app->request-‌​>post('message'); 因为当我试图打开sendChat.php时出现问题

Undefined index: message 

未定义消息的问题消失了,但是查看表单sendChat.php为空。

之后我改变了actionSendChat,就像这样

    public function actionSendChat() {
//        $message = $_POST['message'];
        $message = \Yii::$app->request->post('message');
        if ($message) {
            $model = new Chat;
            $model -> message = $message;
            if ($model -> save()) {
                echo ChatRoom::data();
            } else {
                print_r($model -> getErrors());
                exit(0);
            }
        }
        return $this -> render('sendChat',
            ['model' => $message]
            );
    }

它显示如下聊天。 введите сюда описание изображения

当我将来自Controller的变量$ message等同于字符串&#39; Hello&#39 ;;然后刷新视图表单sendChat.php此消息已插入数据库,然后以视图形式出现

enter image description here

请帮帮我。我该如何解决这个问题?

0 个答案:

没有答案