无法合并两个雄辩的收藏

时间:2019-01-11 06:13:22

标签: laravel merge model eloquent

我的数据库中有一个名为messages的表,它有5列,分别是:

id | sender_id | receiver_id | message | sent_at

在我的模型User中,我有一个看起来像这样的函数:

    public function messages(){

      $sent_messages = $this->hasMany(Message::class, "sender_id");

      $received_messages = $this->hasMany(Message::class, "receiver_id");

      $messages = $sent_messages->merge($received_messages);

      return $messages;

    }

我认为它可以工作,但是没有。我得到的错误是:

BadMethodCallException with message 'Call to undefined method Illuminate/Database/Query/Builder::merge()'

那么,我做错了什么,我该怎么做才能得到messages呢?

1 个答案:

答案 0 :(得分:1)

要拥有一个集合,您必须使用->get()方法。否则,您将拥有关系对象,并且无法合并它们;)