美好的一天。我想在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
此消息已插入数据库,然后以视图形式出现
请帮帮我。我该如何解决这个问题?