Laravel 8 |如何在同一个 table 上加入两个外键

Laravel 8 | How to join two foreign keys on the same table

字段'to_user_id''from_user_id'是用户table上的两个id ,因为他们有不同的价值观如何加入我的模型 'Message' 与用户 table

   $my_inbox=Message::select('messages.*', 'users.name toUser', 'users.name as fromUser')
            ->join('users', 'users.id', '=', 'to_user_id.user_id')
            ->join('users', 'users.id', '=', 'from_user_id.user_id')
            ->get();

使用不同的别名加入同一个 table。您看到选择相同的字段与您想要的冲突。

$my_inbox=Message::select('messages.*', 'receiver.name toUser', 'sender.name as fromUser')
            ->join('users as receiver', 'receiver.id', '=', 'to_user_id.user_id')
            ->join('users as sender', 'sender.id', '=', 'from_user_id.user_id')
            ->get();

或者如果您在消息 class 和用户 class

中设置了正确的关系
$my_inbox = $loggedUser->receivedMessages()->with('sender')->get();