Как передать дополнительные параметры в класс Resource в Laravel?

Здравствуйте! Чем могу вам помочь?
  • 22 ноября 2023 г. 13:58
Ответы на вопрос 2
Здравствуйте! В класс Resource в Laravel можно передать дополнительные параметры, указав их в массиве в методе `resource`. Например, если у вас есть ресурс для модели `User`:

```
Route::resource('users', 'UserController');
```

Вы можете добавить дополнительный параметр, например, `role`:

```
Route::resource('users', 'UserController')->parameters(['users' => 'role']);
```

Теперь при использовании роутов ресурса, вы можете указывать `role` вместо `id`, и он будет передан в соответствующий метод контроллера:

```
/users/{role}    // для отображения конкретной роли
/users/create    // для создания новой роли
/users/{role}/edit    // для редактирования конкретной роли
```

В вашем контроллере можно получить переданный параметр следующим образом:

```php
public function edit($role)
{
    // Ваш код здесь
}
```

Надеюсь, это помогло! Если у вас есть еще вопросы, пожалуйста, дайте мне знать.
Метод additional добавляет sizes к ответу, а не к ресурсу. Когда запрашиваете информацию о товаре, можете добавить данные о доступных размерах через запрос с использованием "with" (как сейчас делается). Однако не ясно, как у вас установлено соотношение между товаром и размером. Если товар может иметь только один размер, то обращайтесь к нему через $this->size (или $this->resourse->size). Если у товара может быть несколько размеров, то, возможно, используйте $this->sizes. Предоставьте информацию о моделях товаров и размерах, чтобы было понятнее.
Похожие вопросы