如何从laravel中的db检索2个特定行

时间:2014-11-11 06:30:58

标签: php laravel-4 query-builder

我是laravel的新手。我已经在laravel doc网站上搜索了这个问题。在我的一个laravel视图页面中,我需要显示两行的值

1) mtitle
2) mdescription

该表包含更多行。列是name,value,key,status。我使用像这样的模型文件在我的blade.php中编写了查询构建器。

$default = Specific::where('status',1)->where('name','mtitle')->first();

这显然只有一行。我想知道有没有办法获得另一行'mdescription'而不再写另一个查询?

2 个答案:

答案 0 :(得分:0)

您需要像这样更改您的查询

$default = Specific::where('status',1)->where('name','mtitle')->get();

first()方法将只返回匹配where条件的单个第一条记录。

使用' get()'获取所有记录的方法。

如果您有大量记录,也可以使用'paginate()'进行分页。

你可以orWhere()

$default = Specific::where('status',1)->where('name','mtitle')->orWhere('name', 'mdescription')->get();

答案 1 :(得分:0)

假设您希望获取名称列设置为mtitledescription的行,您可以这样使用whereIn方法:

$default = Specific::where('status',1)
           ->whereIn('name',['mtitle','description'])->get();

现在可以使用循环显示这些行的值:

foreach ($default as $item) {
    echo $item->name.' '.$item->value.' '.$item->key.' '.$item->status;
}