Как использовать два или более «with» Laravel?

Ссылка скопирована
1 ответ

Надо чтобы функция возвращала ещё и данные из модели 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 и более связи без уточнения запроса, то просто их перечисляешь в массиве без ключей. Если же нужно уточнять запрос, то ключом идет имя связи, а значение запрос.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Сергей Миронов Ответ

Для использования нескольких методов "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. Надеюсь, это поможет вам решить вашу проблему.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно