Laravel7 加入语法错误或访问冲突
Laravel7 Join Syntax error or access violation
我正在尝试编写一个查询,其中我要加入一条消息 table 和一个用户 table,这样我就可以获取特定用户的所有消息并获取每条消息的用户名称来自.
这是我的查询
$inboxrow = DB::table('inbox_messages')
->join('inbox_messages', 'inbox_messages.to_userid', '=', Auth::id())
->join('users', 'users.from_userid', '=', 'inbox_messages.from_userid')
->select('inbox_messages.*', 'users.name')
->get();
我的问题是上面的问题给我一个错误(见下文)并且不确定如何重写我的查询以获得我需要的东西。这是 inbox_messages table 中的所有内容,其中 to_userid 等于登录人员的用户 ID,然后从用户 table 中获取发送消息的人的姓名列值 inbox_messages.from_user = 列值 users.id
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias:
'inbox_messages' (SQL: select `inbox_messages`.*, `users`.`name` from `inbox_messages`
inner join `inbox_messages` on `inbox_messages`.`to_userid` = `3` inner join `users`
on `users`.`from_userid` = `inbox_messages`.`from_userid`)
请尝试以下解决方案。我在哪里将额外的连接更改为 where 子句。
$inboxrow = DB::table('inbox_messages')
->join('users', 'users.from_userid', '=', 'inbox_messages.from_userid')
->select('inbox_messages.*', 'users.name')
->where('inbox_messages.to_userid', '=', Auth::id())
->get();
我正在尝试编写一个查询,其中我要加入一条消息 table 和一个用户 table,这样我就可以获取特定用户的所有消息并获取每条消息的用户名称来自.
这是我的查询
$inboxrow = DB::table('inbox_messages')
->join('inbox_messages', 'inbox_messages.to_userid', '=', Auth::id())
->join('users', 'users.from_userid', '=', 'inbox_messages.from_userid')
->select('inbox_messages.*', 'users.name')
->get();
我的问题是上面的问题给我一个错误(见下文)并且不确定如何重写我的查询以获得我需要的东西。这是 inbox_messages table 中的所有内容,其中 to_userid 等于登录人员的用户 ID,然后从用户 table 中获取发送消息的人的姓名列值 inbox_messages.from_user = 列值 users.id
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias:
'inbox_messages' (SQL: select `inbox_messages`.*, `users`.`name` from `inbox_messages`
inner join `inbox_messages` on `inbox_messages`.`to_userid` = `3` inner join `users`
on `users`.`from_userid` = `inbox_messages`.`from_userid`)
请尝试以下解决方案。我在哪里将额外的连接更改为 where 子句。
$inboxrow = DB::table('inbox_messages')
->join('users', 'users.from_userid', '=', 'inbox_messages.from_userid')
->select('inbox_messages.*', 'users.name')
->where('inbox_messages.to_userid', '=', Auth::id())
->get();