Intereting Posts
Пользовательская функция PHP для проверки правильного пароля в Joomla Проверенна ли дата, время отпуска на 7 часов? Как использовать WHERE IN с Doctrine 2 Symfony: Можно ли установить TEMplate для компонентов? Как сделать асинхронный запрос GET в PHP? Symfony2 / Doctrine – создание объекта только в тестовой среде Symfony / Doctrine – значения дат запроса в отношении существующих значений базы данных Как создать плагин для резервного копирования конкретной таблицы в базе данных WordPress? Помещение основных классов выше корня сети – хорошая или плохая идея? Удалить ключ индекса из массива для доступа к объекту? Как напечатать один комментарий в drupal? Только замените собственный URL веб-сайта в тексте с помощью HTML-ссылок Как автоматически удалить сеанс через 5 минут бездействия на веб-сайте в php php md5_file с файлом gif? Как связать конкретную часть на той же странице с jquery и php?

Как передать идентификатор в параметре URL-адреса Laravel

Как передать $val->id в параметре URL-адреса Laravel . Я использую следующий код. Ошибка возврата

 href="{{url('/dashboard/medicinepending/{{$val->id}}')}}" 

Попробуй это:

 href="{{ URL('/dashboard/medicinepending/'.$val->id )}}" 

Попробуй это:

 {{ url('/dashboard/medicinepending/', [$val->id]) }} 

Но неплохо использовать относительные пути, потому что если вы захотите изменить схему URL, вам нужно будет вручную найти десятки или сотни ссылок в ваших представлениях и контроллерах и изменить их вручную. В этом случае вы обязательно забудете изменить некоторые из них, и некоторые страницы вашего приложения будут сломаны.

Хорошей практикой является использование ссылок на маршрут:

 {{ route('name.route', ['id' => $val->id]) }} 

Или ссылки на действия:

 {{ action('MyController@show', $val->id) }} 

Быстрый ответ

Как ранее объяснялось способ создания URL-адреса в шаблоне клинка, вы можете использовать помощник URL-адреса; для вашего примера это будет работать:

 {{ url('dashboard/medicinepending/', [$val->id] }} 

Лучшая практика

Не рекомендуется использовать url , route или даже action при создании URL-адреса для ваших просмотров. Это связано с тем, что URL-адреса не изменятся, если у вас есть 301 настройка перенаправления, чтобы ваш рейтинг SEO оставался действительным и хорошим.

Так просто сделайте что-нибудь вроде:

 <a href="/dashboard/medicinepending/{{ $val->id }}"> 

Но если вы ДЕЙСТВИТЕЛЬНО хотите использовать обертку, тогда url – вторая лучшая вещь.

Единственная цель этих помощников – для электронной почты или команд через artisan , при запуске cron не знает о URL-адресе только то, что определено в config: app.url

объяснение

Способ, которым URL-адреса построены с помощью laravel, заключается в добавлении строки со значением app.url config; найдено: внутри config / app.php

Это в основном для CLI, когда вы выполняете процессы cron и генерируете электронные письма из очереди со ссылками, поэтому это может быть использовано в вашем приложении. В противном случае не используйте его вообще .

Использование помощника url является хорошим, потому что вы можете изменить значение конфигурации app.url своим собственным поставщиком услуг . Это очень полезно, когда у вас есть веб-сайт на нескольких языках и / или загрузка языка сайтов на основе имени домена; пример:

  • domain.com – загрузит веб-сайт США
  • domain.uk – загрузит веб-сайт Великобритании
  • domain.eu – загрузит общий веб-сайт ЕС
  • domain.de – загрузит немецкий сайт
  • domain.jp – загрузит японский веб-сайт
  • и т.д

Как уже упоминалось, вы можете создавать URL-адреса маршрута; это справедливо только в том случае, если вы назовете свои маршруты, что не всегда так.

 {{ route('name.route', ['id' => $val->id] }} 

Это найдет маршрут по имени route.name, а затем проанализирует эту конечную точку через app('url') которая, как представляется, является UrlGenerator, поэтому это не лучше, чем помощник url адреса, – не уходите с пути Назовите все маршруты – это плохая практика.

Другая упомянутая практика, которая также не очень хорошая идея, заключается в использовании action , предоставляя класс и действие для поиска маршрута:

 {{ action('MyController@show', $val->id) }} 

Это плохая идея, если MyController на самом деле не является интерфейсом, а не физическим классом, поскольку вам требуется Inversion of Control для инъекции класса, который реализует MyController, иначе ваше приложение не будет соответствовать SOLID-принципу

Кстати, я также согласен с @Alexey Mezenin, вам лучше использовать вспомогательную функцию route () вместо использования url (), route () даст вам больше гибкости для передачи числа параметров вместе с основным URL-адресом.

В любом случае, вы не должны использовать синтаксис лезвийного кода ({{}}) снова в другой паре скобок и еще одну вещь, постарайтесь не начинать и заканчивать резку в первой части URL-адреса, как показано ниже.

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

href = "{{url ('dashboard / medicinepending'. $ val-> id)}}" ИЛИ

href = "{{url ('dashboard / medicinepending', $ val-> id)}}"

Это работает для меня:

 <a href="{{asset('/dashboard/medicinepending/'.$val->id)}}"></a>