【问题标题】:Laravel local.ERROR: array_merge(): Expected parameter 2 to be an array, string given [closed]Laravel local.ERROR:array_merge():预期参数2是一个数组,给定字符串[关闭]
【发布时间】: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


【解决方案1】:

此问题已在 Laravel v8.29.0 中解决

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 2018-11-10
    • 2017-08-08
    相关资源
    最近更新 更多