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
ましたか、そしてそれが私によって送信されたか、私によって受信された場合、すべてを取得するために何ができますか?
コレクションを作成するには、->get()
メソッドを使用する必要があります。それ以外の場合は、リレーションオブジェクトがあり、それらをマージすることはできません;)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加