【发布时间】:2017-03-08 10:36:10
【问题描述】:
我有三个表,即users、galleries、orders。结构简单。 galleries 和 orders 都有一个名为 client_id 的列作为 users 的外键
我需要一个结果集,其中仅包含galleries 中存在但orders 中不存在的那些users 的列表。
我试过关注,但它给了我orders中存在的所有用户
$users = DB::table('galleries')
->join('users', 'users.id', '=', 'galleries.client_id')
->join('orders', 'orders.client_id', '=', 'users.id')
->select('galleries.client_id', 'galleries.path', 'users.first_name', 'users.last_name', 'orders.order_number')
->where('galleries.session_id', null)
->where('galleries.is_video', '1')
->where('galleries.is_thumb', '0')
->get();
dd($users);
上面代码产生的查询是
select
`galleries`.`client_id`,
`galleries`.`path`,
`users`.`first_name`,
`users`.`last_name`,
users.id,
`orders`.`order_number`
from
`galleries`
inner join
`users`
on
`users`.`id` = `galleries`.`client_id`
inner join
`orders`
on
`orders`.`client_id` = `users`.`id`
where
`galleries`.`session_id` is null
and
`galleries`.`is_video` = '1'
and
`galleries`.`is_thumb` = '0'
【问题讨论】:
标签: php mysql laravel laravel-5.2 inner-join