【发布时间】:2021-06-02 16:13:12
【问题描述】:
我一直在尝试建立一个基本的聊天室,目前正处于最后阶段,但自从我刚接触 Laravel 以来,我已经尝试处理这个错误好几天了。我正在使用 Laravel 6。我想要做的是使用推送器推送消息,以便聊天室实时更新,但是当我推送消息时,我得到一个 POST 500(内部服务器错误)
日志文件中的完整错误状态:
local.ERROR: array_merge(): 预期参数 2 是一个数组, 给定字符串 {"userId":1,"exception":"[object] (ErrorException(code: 0): array_merge(): 期望参数 2 是一个数组,给定字符串
我已经尝试了所有我能想到的方法,我尝试使用 json 将列 user_id 转换为数组,我尝试更改列名称。请在我的迁移表和消息模型下方找到:
class Message extends Model
{
@var array
protected $fillable = ['message'];
protected $table= 'messages';
protected $hidden = ['user_id'];
/**
* A message belong to a user
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo(User::class);
}
}
这是表格:
Schema::create('messages', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->text('message');
$table->timestamps();
});
非常感谢您的帮助。
【问题讨论】:
-
你贴的代码中没有array_merge(),在哪里调用?
-
我相信这里:\\vendor\\pusher\\pusher-php-server\\src\\Pusher.php(518): array_merge(Array, '131299.23450634')
-
发布您要推送的消息。
-
{"id":10,"message":"kkj","created_at":"2021-03-04 03:17:52","updated_at":"2021-03-04 03:17:52","user":{"id":1,"name":"Ryan Thompson","email":"ryanthompson139@gmail.com","email_verified_at":"2021-03-04 01 :47:50","created_at":"2021-03-04 01:47:50","updated_at":"2021-03-04 01:47:50"}}]
标签: php mysql laravel laravel-6 pusher