2017-02-16 5 views
0

У меня есть простая проблема, в основном я получаю имя сайта из базы данных и создаю ссылку в соответствии с ее именем. это выглядит следующим образом:laravel blade создание url

@foreach ($websites as $website) 
<a class="websites" href=" {{ asset ($website->name)}}"> {{ asset ($website->name)}} 
</a> @endforeach 

, который дает, например: http://localhost/name

Howver ссылка должна быть так:

http://localhost/website/name, как я могу добавить /website в мой URL, используя шаблон лезвия в Laravel?

+0

ли вы определить маршрут для этого URL вы хотите создать? –

+0

Да, я сделал: Route :: get ('/ website/{name}', 'BuilderController @ website'); – Przemek

+0

use base_url(). 'Website'. $ Website-> name or url ('website /'.$ website-> name) – JYoThI

ответ

4

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

{{ url('website/' . $website->name) }} 
+0

отлично :) спасибо! Я отвечу на этот ответ за 9 минут: P – Przemek

1

Это есть некоторое улучшение на @Laran ответ относительно передовой практики.

Вы бы лучше использовать параметры URL вместо конкатенации параметра $ Имя

{{ url('website', [$name]) }}

И с помощью именованных маршрутов будет лучше отвязать маршрут от взглядов.

// routes/web.php 
Route::get('website')->name('website'); 

и написать внутри вашего {{ route('website', [$name]) }}

+1

Этот '{{url ('website', $ name)}}' также работает без квадратных скобок –