Laravel local.ERROR: array_merge(): Expected parameter 2 to be an array, string given

Laravel local.ERROR: array_merge(): Expected parameter 2 to be an array, string given

我一直在尝试建立一个基本的聊天室,现在正处于最后阶段,但自从我刚接触 Laravel 以来,我已经尝试处理这个错误好几天了。我正在使用 Laravel 6。我想做的是使用 pusher 推送消息,以便聊天室实时更新,但是当我推送消息时,我收到 POST 500(内部服务器错误)

日志文件中的完整错误状态:

local.ERROR: array_merge(): Expected parameter 2 to be an array, string given {"userId":1,"exception":"[object] (ErrorException(code: 0): array_merge(): Expected parameter 2 to be an array, string given

我已经尝试了所有我能想到的方法,我尝试使用 json 将列 user_id 转换为数组,我尝试更改列名称。请在下面找到我的迁移 table 和消息模型:

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);
}
}

这里是 table:

 Schema::create('messages', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id');
        $table->text('message');
        $table->timestamps();
    });

非常感谢您的帮助。

此问题已在 Laravel

的 v8.29.0 中得到解决