У меня есть общий table.blade.php, который управляет построением таблицы на основе данной коллекции моделей.
Как я могу, например, создать ссылку редактирования для каждого элемента с помощью правильного контроллера.
Пример:
<!-- stored in /resources/views/includes/table.blade.php -->
all table....
<tbody>
@foreach( $items as $model )
<tr><td>
<a href = "{{ route( '****.edit', $model ) }}">Edit</a>
</td></tr>
@endforeach
</tbody>
где **** должен быть правильный контроллер для модели.
таблица отображается с помощью действия ModelController @ index.






В routes/web.php:
Route::get('some-link/{model}', 'EntityController@edit')->name('****.edit');
Или в поле зрения можно использовать помощник action():
{{ action('EntityController@edit', $params) }}
Я использую встроенный Route :: resource ()
@Mindexperiment проверьте имя вашего маршрута с помощью команды php artisan route: list
Почему бы вам не передать имя контроллера из контроллера, и оно будет отображаться на желаемом маршруте.
<a href = "{{ route( $controllerName.'.edit', $model ) }}">Edit</a>
Вы можете передавать переменные из контроллеров с помощью compact()
это решение работает ... но я хотел бы знать, есть ли более элегантный способ решить мою проблему
Придаст ли вам больше гибкости, если вы будете обрабатывать это в контроллере? Это позволяет вашей логике в контроллере выбирать, с какой моделью взаимодействовать и возвращать то, что вам нужно (данные / представление / и т. д.).