Поскольку он мог бы знать, возвращается ли моя связь null и убирать это от array.
$canal = session()->get('canal')['type'];
$layouts = PlanogramacionLayoutCreated::with(['layout' => function($q) use($canal) {
$q->where('canal', 'LIKE', '%'. ucfirst($canal). '%');
}])
->get();
Я получаю данные Модели отец, присоединяются Ваши дети layouts
но у меня есть valicación в сыне, чтобы делать фильтр из-за канала и Вашего совпадения.
Я хочу знать, как я могу скрывать отец, в случае, если связь придет пустая:
[
{
id: 1,
layout_id: 12,
img: "dasjdksajd8123123MDAs.jpg",
layout: null
}
]
Поскольку я могу идентифицировать если layout
он приходит null, и если это так, это не добавили к моим objectos. Что я могу делать это с одним foreach
но я думаю, что она не была бы хорошей практикой, и вот то, что я ищу.
Ты можешь ограничивать результаты в funciГіn существование ее relaciГіn перемещая имя ее relaciГіn в них mГ©todos has
и orHas
. Использует их mГ©todos whereHas
и orWhereHas
, чтобы помещать условия "where" в твои консультации has
. Эти mГ©todos позволяют тебе добавлять ограничения, настроенные в одной restricciГіn relaciГіn.
то, что для тебя cГіdigo traducirГ - в в:
$layouts = PlanogramacionLayoutCreated::whereHas('layout', function (Builder $query) use ($canal) {
$query->where('canal', 'LIKE', '%'. ucfirst($canal). '%');
})
->with(['layout'])
->get();