我有拉拉计划。当我单击“视图”按钮时,我希望看到对我的记录的完整描述。但我不知道如何通过正确的身份证明。我的数据库表叫做- csstable。我有模特:
<?php
class CssTable extends Eloquent
{
protected $table = 'csstable';
}查看每个帖子上的按钮(我从数据库中获取所有帖子,因此每个帖子都有id):
<div class="view">
<a href="{{ action('CssController@show') }}" ></a>
</div>具有此显示功能的CssController:
public function show()
{
$csstable = CssTable::all();
return View::make('cssposts/right_post', compact('csstable'));
}我的路线:
Route::get('/css/id_of_right_post', 'CssController@show' );Right_post,其中我希望从描述列中按下单击的id (在这个字段中,我只看到了最后一条记录的描述):
<h1 style="color:#fff">{{ $css->description }}</h1>我试着把这样的东西
public function show($id)
{
$csstable = CssTable::find($id);
return View::make('cssposts/right_post', compact('csstable'));
}但是在显示函数中有一个错误缺失的1参数。所以我想知道,怎么通过正确的身份证!
发布于 2014-04-16 16:01:34
要做到这一点,需要三个步骤。首先,让我们走这条路线:
Route::get('css/{id}', 'CssController@show');那里的{id}意味着它是一个匹配的参数-它将匹配一个完整的URI段(基本上是斜杠之间的任何东西),并使用它传递给传递给他的方法。因此,在控制器上:
class CssController
{
public function show($id)
{
$csstable = CssTable::findOrFail($id);
return View::make('cssposts/view', compact('csstable));
}
}该控制器方法接受(必需的)单个参数。您可以随意命名它,但是这里我将使用id,因为它是模型的ID。最后,谜题的最后一部分是如何链接到这样一条路线:
// view button for each csstable
<div class="view">
{{ link_to_action('CssController@show', $item->title, array($item->getKey())) }}
</div>正如您所看到的,我正在使用link_to_action助手,但是您使用<a href="{{{ action('CssController@show', array($item->getKey())) }}}">的方法也会工作。在控制器操作名称之后,传递一个数组,该数组包含URI中的所有参数,以便填充(按顺序排列)。在我们的例子中,我们有一个参数,它是一个带有一个项的数组。我认为,在这些情况下,您也可以使用字符串,Laravel将把它转换为一个数组,为您提供一个元素。我更喜欢直截了当。
希望这能帮助您解决如何在Laravel中使用基于参数的路由系统。
https://stackoverflow.com/questions/23114320
复制相似问题