Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
user
order
order_user
role
role_user
У каждого юзера может быть один или несколько заказов, у заказа может быть несколько юзеров, а может и не быть.
В свою очередь есть роли у пользователей (admin, manager, shipper).
Вопрос, как возвратить заказы, у которого нет пользователя с определенной ролью, например manager.
Это мне надо для того, чтобы показывать пользователям с ролью manager только те заказы, которые ему присвоены и те, которые не присвоены никому с такой ролью.
Не в сети
sqlSELECT * FROM order_user JOIN role_user USING ( user_id ) JOIN orders ON ( orders.id = order_user.order_id ) WHERE ( role_user.role_id !=19 OR order_user.user_id =18 )
где 19 — это айдишник роли, а 18 это айдишник текущего пользователя.
$orders = DB::table('order_user')
->join('role_user', 'order_user.user_id', '=', 'role_user.user_id')
->join('orders', 'orders.id', '=', 'order_user.order_id')
->where('role_user.role_id', '!=', 19)
->or_where('order_user.user_id', '=', 18)
->for_page(1, 10)
->get();
Изменено newbie (15.04.2013 21:55:45)
Не в сети
Страницы 1