【问题标题】:How to insert a variable into a Laravel Blade Template that is inside a HTML href tag for a web.root link如何将变量插入到 web.root 链接的 HTML href 标记内的 Laravel Blade 模板中
【发布时间】:2021-09-27 07:22:34
【问题描述】:

我正在尝试使用 HTML 中的视图 (blog.blade.php) 使用 Laravel 创建博客文章。

我的 laravel web.php 中的代码从我的本地 mssql 服务器获取博客文章如下所示(并且有效):

Route::get('/blog/{id}', function($id){
$posts = DB::table('blog_posts')->get();
return view('blog', ['id'=>$id], ['posts'=>$posts]); });

在 laravel 视图目录 home.blade.php 我的代码使用硬编码路由:url('/blog/1') href 链接将您带到完整的博客文章

<h2>Blog posts:</h2>
@foreach ($posts as $post)  
    <p>{{ $post->title }} </p> <a href="{{ url('/blog/1') }}" >&#9650; Click here to view full post</a>
@endforeach

我想做的是:

<p>{{ $post->title }} </p> <a href="{{ url('/blog/{{ $post->id }}') }}" >&#9650; Click here to view full post</a>

我如何获得$post-&gt;id 即路由(1、2、3 或 4)并来自保存到博客行的 sql 数据库来工作。使用 {{ $post-&gt;id }} 而不是硬编码 "1" 时,我的 xampp php 服务器返回以下错误。

D:\XAMPP 服务器\htdocs\cool-blog
解析错误 未关闭的 '(' 与 '}' 不匹配(查看:D:\XAMPP Server\htdocs\cool-blog\resources\views\home.blade.php) http://localhost:8000/

【问题讨论】:

    标签: php laravel laravel-blade


    【解决方案1】:

    将第二个参数传递给url() 方法

    <p>{{ $post->title }} </p> <a href="{{ url('blog',$post->id) }}" >&#9650; Click here to view full post</a>
    

    参考:https://laravel.com/docs/8.x/helpers#method-url

    【讨论】:

    • 谢谢,不会产生 IDE 语法错误的优秀解决方案。我不知道可以将一个参数传递给 url() 方法。
    • 我也不知道这一点。所以加倍谢谢你:)
    • 对于许多参数是
    【解决方案2】:

    试试这个

    <p>{{ $post->title }} </p> <a href="{{ url('/blog/'.$post->id.'') }}" >&#9650; Click here to view full post</a>
    

    【讨论】:

    • 感谢您为我工作!问题的简单解决方案。
    猜你喜欢
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 2014-05-06
    相关资源
    最近更新 更多