我是laravel的新手。我已经在laravel doc网站上搜索了这个问题。在我的一个laravel视图页面中,我需要显示两行的值
1) mtitle
2) mdescription
该表包含更多行。列是name,value,key,status
。我使用像这样的模型文件在我的blade.php中编写了查询构建器。
$default = Specific::where('status',1)->where('name','mtitle')->first();
这显然只有一行。我想知道有没有办法获得另一行'mdescription'而不再写另一个查询?
答案 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)
假设您希望获取名称列设置为mtitle
或description
的行,您可以这样使用whereIn
方法:
$default = Specific::where('status',1)
->whereIn('name',['mtitle','description'])->get();
现在可以使用循环显示这些行的值:
foreach ($default as $item) {
echo $item->name.' '.$item->value.' '.$item->key.' '.$item->status;
}