私は現在、laravelのメッセージングシステムに取り組んでいます。今私は、現在のユーザーがメッセージを送受信するユーザーのリストを取得したい。私は私がメッセージを、利用者1のための結果はとなりますlaravel私が話したすべてのユーザーを取得する方法
id
2
3
モデルに話をした利用者のIDのリストを取得見つける
id | sender_id | receiver_id | msg
1 | 1 | 2 | smadksamdksa
2 | 3 | 4 | hi
3 | 1 | 2 | www
4 | 2 | 1 | ssse
5 | 3 | 1 | hi
のようなメッセージテーブルがあるとし
namespace App;
use Illuminate\Database\Eloquent\Model;
class msg extends Model
{
protected $table = 'msgs';
public function user()
{
return $this->belongsTo('App\user');
}
}
クエリを作成
$senders = msg::select('sender_id')->where('receiver_id', '=', Auth::id())->distinct()->get();
$peopleUserTalkedTo = msg::select('receiver_id')->where('sender_id', '=', Auth::id())->distinct()->union($senders)->get();
しかし、それはそれと間違って何のエラー
Undefined property: Illuminate\Database\Eloquent\Collection::$bindings
では動作しません、と私はIDとして送信者IDと受信機を選択することができ、私は後でそれからユーザIDを取得することができますか?
問題は組合方法についてだと思います。
わかりませんが、Auth :: id()は機能しますか? –
@Jerrycあなたのテーブルによれば、ユーザ1はユーザ2としか話していませんでしたが、どのように2&3を得ることができますか? –
@RohitKhatriああ、私の英語のために申し訳ありません、私はユーザーがユーザー1に関連した会話を持っていることを意味します – Jerryc