首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从正确的数据库记录中获取id

问从正确的数据库记录中获取id
EN

Stack Overflow用户
提问于 2014-04-16 15:51:35
回答 1查看 2.4K关注 0票数 1

我有拉拉计划。当我单击“视图”按钮时,我希望看到对我的记录的完整描述。但我不知道如何通过正确的身份证明。我的数据库表叫做- csstable。我有模特:

代码语言:javascript
复制
<?php 
class CssTable extends Eloquent
{
    protected $table = 'csstable';
}

查看每个帖子上的按钮(我从数据库中获取所有帖子,因此每个帖子都有id):

代码语言:javascript
复制
<div class="view">
     <a href="{{ action('CssController@show') }}" ></a>
</div>

具有此显示功能的CssController:

代码语言:javascript
复制
public function show()
{
    $csstable = CssTable::all();
    return View::make('cssposts/right_post', compact('csstable'));
}

我的路线:

代码语言:javascript
复制
Route::get('/css/id_of_right_post', 'CssController@show' );

Right_post,其中我希望从描述列中按下单击的id (在这个字段中,我只看到了最后一条记录的描述):

代码语言:javascript
复制
<h1 style="color:#fff">{{ $css->description }}</h1>

我试着把这样的东西

代码语言:javascript
复制
public function show($id)
{
    $csstable = CssTable::find($id);
    return View::make('cssposts/right_post', compact('csstable'));
}

但是在显示函数中有一个错误缺失的1参数。所以我想知道,怎么通过正确的身份证!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 16:01:34

要做到这一点,需要三个步骤。首先,让我们走这条路线:

代码语言:javascript
复制
Route::get('css/{id}', 'CssController@show');

那里的{id}意味着它是一个匹配的参数-它将匹配一个完整的URI段(基本上是斜杠之间的任何东西),并使用它传递给传递给他的方法。因此,在控制器上:

代码语言:javascript
复制
class CssController
{
    public function show($id)
    {
        $csstable = CssTable::findOrFail($id);
        return View::make('cssposts/view', compact('csstable));
    }
}

该控制器方法接受(必需的)单个参数。您可以随意命名它,但是这里我将使用id,因为它是模型的ID。最后,谜题的最后一部分是如何链接到这样一条路线:

代码语言:javascript
复制
// 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中使用基于参数的路由系统。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23114320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档