【问题标题】:Laravel blade templates, foreach variable inside URL::to?Laravel 刀片模板,URL::to 中的 foreach 变量?
【发布时间】:2013-05-06 14:12:47
【问题描述】:

我正在创建一个基本的帖子列表视图,需要一个指向“编辑”页面的链接。

我正在使用刀片,我有一个表格,带有一个 foreach 循环,显示每个帖子以及编辑/删除按钮。

我想要做的是使用刀片的 URL::to 链接到编辑和删除页面,以确保链接一致。

我尝试使用的代码(记住这是在 foreach 循环内,因此 $post->id var)是这样的:

<a href="{{ URL::to('admin/posts/edit/$post->id') }}" class="btn btn-mini btn-primary">Edit Post</a>

但是这不起作用。我也试过了

<a href="{{ URL::to('admin/posts/edit/<?php echo $post->id; ?>') }}" class="btn btn-mini btn-primary">Edit Post</a>

这也不起作用。

我没有收到任何错误,链接最终是:

http://domain.dev/admin/posts/$post->id

有没有办法解决这个问题?

【问题讨论】:

    标签: templates laravel laravel-4 blade


    【解决方案1】:

    我认为这会奏效

    <a href="{{ url('test/'.$post->id.'/view') }}"></a>
    

    【讨论】:

      【解决方案2】:

      我认为问题在于您在带有单个' 的字符串中使用了php 变量($post)。在这种情况下,它只输出变量的名称。试试这个:

      <a href="{{ URL::to('admin/posts/edit/' . $post->id) }}" class="btn btn-mini btn-primary">Edit Post</a>
      

      希望这会有所帮助。 弗拉德

      【讨论】:

        【解决方案3】:

        您也可以使用route() helper 通过路由名称生成 url。例如路由的定义:

        Route::get('/test/mypage/{id}', 'MyController@myAction')->name('my_route_name');
        

        你认为的代码:

        <a href="{{ route('my_route_name', $row['id']) }}">{{ $row['name'] }}</a>
        

        【讨论】:

          【解决方案4】:

          在 Laravel 5 中遇到了这个问题,所以即使问题很老,我也想把它弹出来。使用

          解决了我的问题

          {{ URL::to('/box').'/'.$box-&gt;id }}

          或
          {{ url('/box').'/'.$box-&gt;id }}

          【讨论】:

            【解决方案5】:

            另一种方式

            <a href="{{URL::to('/')}}/admin/posts/edit/{{$post->id}}">Edit</a>
            

            【讨论】:

              【解决方案6】:

              {{ }} 等于 &lt;?php echo ;?&gt;

              如果你放单'

              &lt;?php echo '$hello' ?&gt; = $你好

              但是如果你放双 ' (") -> &lt;?php "$hello" ;?&gt; = Hello World(只是一个例子)

              你需要写{{ URL::to("admin/posts/edit/$post-&gt;id") }}之类的东西

              【讨论】:

                【解决方案7】:

                vlad 已经对您的问题给出了正确答案,但请注意,您也可以通过 URL::action 直接链接到您的控制器操作:

                <a href="{{ URL::action('Admin\PostsController@edit', $post->id) }}">Edit</a>
                

                【讨论】:

                • 谢谢。这有助于解决我的问题,我认为指向操作的链接会知道与路由中的变量匹配的变量集。不是这样。我必须将它作为第二个参数传递。
                猜你喜欢
                • 2017-02-08
                • 1970-01-01
                • 2014-12-08
                • 1970-01-01
                • 1970-01-01
                • 2013-04-29
                • 2017-06-20
                • 1970-01-01
                相关资源
                最近更新 更多