Есть ли способ использовать Eloquent для запроса сводной таблицы без наличия модели для этой сводной таблицы?Laravel 5: как запросить сводную таблицу с использованием Eloquent
Ситуация: пользователь может владеть несколькими предприятиями, а бизнес может принадлежать нескольким пользователям. У меня есть следующие таблицы для рассмотрения отношений «многие ко многим».
| users | businesses | business_user |
-------------------------------------------
| id | id | business_id |
| name | name | user_id |
| created_at| created_at | created_at |
| updated_at| updated_at | updated_at |
Моя User.php модель
public function businesses()
{
return $this->belongsToMany('App\Business')->withTimestamps();
}
Моя Business.php модель
public function users()
{
return $this->belongsToMany('App\User')->withTimestamps();
}
1- В мой контроллер, я пытаюсь запросить business_user (сводную) таблицу в подсчитайте количество предприятий, у которых есть идентификатор пользователя Auth.
select count(*) from business_user where user_id = Auth::user()->id() ;
2- я пытаюсь запросить таблицу business_user (ось), чтобы получить название компании для каждой строки приведены в таблице business_user для этого идентификатора пользователя.
select business_user.business_id, businesses.name
from business_user
join businesses
on business_user.business_id = businesses.id
where business_user.user_id = Auth::user()->id() ;
Я хотел бы запросить сводную таблицу с красноречивы, но я не могу получить правильный синтаксис. Мне нужна модель для этой таблицы business_user?
Некоторые из вас предпочитают не использовать Красноречивый вообще?
Благодаря резюме
Спасибо человеку! Я не могу обойти этот синтаксис «Красноречивый». Я просто не понимаю, но ваш код работает! Большое спасибо sooo – user3489502