【问题标题】:Laravel blade creating urlLaravel 刀片创建 url
【发布时间】:2017-07-05 08:05:18
【问题描述】:

我有一个简单的问题,基本上我是从数据库中获取网站的名称并根据它的名称创建一个链接。它看起来像:

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

例如:http://localhost/name

但是链接需要是这样的:

http://localhost/website/name 如何在 laravel 中使用刀片模板将/website 添加到我的 URL 中?

【问题讨论】:

  • 您是否为要创建的此 url 定义了路由?
  • 是的,我做到了:Route::get('/website/{name}', 'BuilderController@website');
  • 使用 base_url().'website'.$website->name 或 url('website/'.$website->name)
  • 我只想补充一点,a class="websites" href="/name"&gt; 也可以正常工作(但它没有使用刀片)

标签: laravel laravel-blade


【解决方案1】:

这对@Laran 关于最佳实践的回答有一些改进。

你最好使用 url 参数而不是连接 $name 参数

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

并且使用命名路由会更好地将路由与视图解耦。

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

并写在你的{{ route('website', [$name]) }}

【讨论】:

  • 这个{{ url('website', $name) }} 似乎也可以在没有方括号的情况下工作
【解决方案2】:

试试这个:

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

【讨论】:

  • 完美:) 谢谢!我会在 9 分钟内接受这个答案:P
  • @Przemek 只是一个友好的提醒,请接受您认为有帮助的答案。
  • @Przemek 你说你会在 9 分钟内接受这个答案,而在 12 天内它将是 3 年。
  • 放手吧伙计们,已经快 5 年了。接受你的命运。
猜你喜欢
  • 2021-11-29
  • 2017-02-13
  • 2021-05-05
  • 2019-01-31
  • 2015-07-15
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
相关资源
最近更新 更多