前提・実現したいこと
現在、Laravelを使用してチャット機能のあるWebアプリの開発を行っています。
LINEやメッセンジャーなどのSNSのようにチャット履歴のあるユーザーの一覧を取得したいと考えています。
テーブルの構造
chats id - integer send_id - integer recieve_id - integer chat - text
モデルの構造
class Chat extends Model { use HasFactory; protected $guarded = []; public function sendUser() { return $this->belongsTo(User::class, 'send_id'); } public function recieveUser() { return $this->belongsTo(User::class, 'recieve_id'); } }
試したこと
ChatControlloer内でいろいろなクエリビルダを合わせて試してみたのですがなかなかうまくいきません。
理想
LINEやメッセンジャーなどのようにsend_idもしくはrecieve_idにログインしているユーザーのIDが含まれる場合にチャット相手のユーザーの一覧を取得する方法が知りたいです。
また、可能であれば最新のチャットも合わせて取得したいです。
例:(ログインユーザーIDは1)
send_id=1 : recieve_id=2 : chat=hello01
send_id=2 : recieve_id=1 : chat=hello02
がある場合最新のチャットであるchat=hello02を取得できるようにしたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。