Как использовать два или более «with» Laravel?
Надо чтобы функция возвращала ещё и данные из модели Tv. Можно это как-то сделать?
final public function getMediasProperty(): IlluminateContractsPaginationLengthAwarePaginator { return Movie::with(['table1:column1,column2,column3' => ['table2:column1,column2,column3']]) ->withCount(['table3' => fn ($query) => $query->whereNull('column4')->whereNull('column5')]) ->orderBy($this->sortField, $this->sortDirection) ->paginate($this->perPage); } |
final public function getMediasProperty(): IlluminateContractsPaginationLengthAwarePaginator { return Movie::with(['table1:column1,column2,column3' => ['table2:column1,column2,column3']]) ->withCount(['table3' => fn ($query) => $query->whereNull('column4')->whereNull('column5')]) ->orderBy($this->sortField, $this->sortDirection) ->paginate($this->perPage); }
Дополнительно:
Ответ есть в документации.
Ответы:
В методе with ошибка у тебя, должно быть вот так
with(['table1:column1,column2,column3' , 'table2:column1,column2,column3']) |
with(['table1:column1,column2,column3' , 'table2:column1,column2,column3'])
То есть если для with & withCount тебе надо 2 и более связи без уточнения запроса, то просто их перечисляешь в массиве без ключей. Если же нужно уточнять запрос, то ключом идет имя связи, а значение запрос.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для использования нескольких методов "with" в Laravel, вы можете передать массив ключ-значение в метод "with" при возврате представления. Например, если у вас есть две переменные, которые вы хотите передать в представление, вы можете сделать это следующим образом:
```php
return view('your-view')->with(['variable1' => $value1, 'variable2' => $value2]);
```
Если у вас есть несколько переменных для передачи, вы можете продолжать добавлять их в массив:
```php
return view('your-view')->with(['variable1' => $value1, 'variable2' => $value2, 'variable3' => $value3]);
```
Вы также можете использовать метод "with" несколько раз для передачи разных переменных:
```php
return view('your-view')
->with('variable1', $value1)
->with('variable2', $value2);
```
Если у вас есть несколько значений, которые вы хотите передать в представление, вы можете использовать метод "compact", который принимает список имен переменных в качестве аргумента:
```php
return view('your-view', compact('variable1', 'variable2', 'variable3'));
```
Таким образом, вы можете легко передавать несколько переменных в представление с помощью метода "with" или "compact" в Laravel. Надеюсь, это поможет вам решить вашу проблему.