Создать маршрут с произвольной моделью

У меня есть общий 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>

где **** должен быть правильный контроллер для модели.

Придаст ли вам больше гибкости, если вы будете обрабатывать это в контроллере? Это позволяет вашей логике в контроллере выбирать, с какой моделью взаимодействовать и возвращать то, что вам нужно (данные / представление / и т. д.).

jeremykenedy 01.10.2018 02:28

таблица отображается с помощью действия ModelController @ index.

Mindexperiment 01.10.2018 10:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
31
2

Ответы 2

В routes/web.php:

Route::get('some-link/{model}', 'EntityController@edit')->name('****.edit');

Или в поле зрения можно использовать помощник action():

{{ action('EntityController@edit', $params) }}

Я использую встроенный Route :: resource ()

Mindexperiment 01.10.2018 10:24

@Mindexperiment проверьте имя вашего маршрута с помощью команды php artisan route: list

Artem Zakharchenko 01.10.2018 13:18

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

<a href = "{{ route( $controllerName.'.edit', $model ) }}">Edit</a>

Вы можете передавать переменные из контроллеров с помощью compact()

это решение работает ... но я хотел бы знать, есть ли более элегантный способ решить мою проблему

Mindexperiment 01.10.2018 01:15

Другие вопросы по теме