Laravel 刀片模板,URL::to 中的 foreach 变量?

Posted

技术标签:

【中文标题】Laravel 刀片模板,URL::to 中的 foreach 变量?【英文标题】:Laravel blade templates, foreach variable inside URL::to? 【发布时间】: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

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

【问题讨论】:

【参考方案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>

【讨论】:

谢谢。这有助于解决我的问题,我认为指向操作的链接会知道与路由中的变量匹配的变量集。不是这样。我必须将它作为第二个参数传递。

以上是关于Laravel 刀片模板,URL::to 中的 foreach 变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Laravel5 中的刀片模板传递扩展主模板中的变量?

Laravel 刀片模板中的图像路径问题

刀片模板中的Laravel重定向问题

Laravel 扩展刀片模板 - $errors 集合中的错误

laravel 刀片模板中的覆盖部分抛出未定义的变量错误

刀片模板中的多对多关系中的 Laravel 嵌套查询