Мне, кажется, трудно понять, как правильно запрашивать, поскольку логика этого запутывается, когда я пытаюсь использовать разные операторы.
В любом случае, у меня есть три таблицы: Customer, Cpe, Equipment.Я хочу получить данные от оборудования, но для этого я должен использовать Customer для связи с Cpe, а затем связать эту таблицу с оборудованием.
Отношения таковы:
У клиента много Cpecustomerid> customerid Cpe имеет одно Оборудование equipid> equipid
Нет ничего, касающегося Клиента и Оборудования, кроме таблицы Cpe.
Я специально хочу выбрать Customer.customerid, Customer.name, Equipment.псевдоним, Customer.customerstatus, Customer.installationdate.Но я также хочу выбирать только тех клиентов, у которых Equipment.nickname LIKE% SIM%.Итак, что у меня есть:
$baicell_customers = Customer::with('Cpe')
->with('Cpe.Equipment')
->select('Customer.customerid', 'Customer.name',
'Equipment.nickname', 'Customer.customerstatus',
'Customer.installationdate' => function($query){
$query->where('Equipment.nickname', 'LIKE', '%SIM%');
})
->orderBy('Customer.name', 'asc');
->get();
Но это ничего не дает мне.Я не очень хорош в том, что связываю одну таблицу с другой, и в том, что мне приходится использовать связанную таблицу для получения информации от другой, это просто помешательство для меня, поэтому любая помощь будет принята с благодарностью.