Есть 3 таблицы (CAT_OBL, CAT_STATION, TOS_MES), 1-я и 2-я связаны между собой по полю OBL_ID, 2-я и 3-я таблицы связанны по полю IND_ST. Нужно вывести данные из 3-й таблицы и вывести значения полей для неё из 1-й и 2-й таблицы. Есть сырой mysql-запрос , однако не могу перенести его на Eloquent ORM. Сам запрос: select c.obl_id, c.ind_st, tm.*
from TOS_MES tm, CAT_STATION c, CAT_OBL o where ((c.ind_st = tm.ind_st) and ( c.obl_id=o.obl_id))
Переделайте запрос на джойны:
select c.obl_id, c.ind_st, tm.* from TOS_MES tm join
CAT_STATION c on c.ind_st = tm.ind_st join CAT_OBL o
o on c.obl_id=o.obl_id;
Вот пример джойнов на qb:
$users = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.*', 'contacts.phone', 'orders.price')
->get();
class User extends Model
{
public function contacts()
{
return $this->hasMany('App\Contact');
}
public function orders()
{
return $this->hasMany('App\Order');
}
}
$users = App\User::all();
$contacts = $users->contacts();
$orders= $users->orders();
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости