Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.04.2013 19:05:32

Отношение многие ко многим, помогите плиз

Есть такие таблицы:

PHP
user
order
order_user
role
role_user

У каждого юзера может быть один или несколько заказов, у заказа может быть несколько юзеров, а может и не быть.

В свою очередь есть роли у пользователей (admin, manager, shipper).

Вопрос, как возвратить заказы, у которого нет пользователя с определенной ролью, например manager.

Это мне надо для того, чтобы показывать пользователям с ролью manager только те заказы, которые ему присвоены и те, которые не присвоены никому с такой ролью.

Это делается через Fluent запросы?

Не в сети

#2 15.04.2013 21:27:58

Re: Отношение многие ко многим, помогите плиз

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 это айдишник текущего пользователя.

PHP
$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(110)
        ->
get();

вот запрос через fluent

вроде так получается?

Изменено newbie (15.04.2013 21:55:45)

Не в сети

Подвал раздела