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();
字段'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();