我正在做一个项目,其中一些建筑物的某些信息被上传,并根据需要检索。DB表属性:列:标识、图像、建筑类型标识(建筑类型表的外键)等
我想运行一个查询,其中的列表将根据building_type排序
控制器:
public function index() {
return view ('pages.index', [
'duplex' => Property::where('building_type_id', '4'),
'singleroom' => Property::where('building_type_id', '1')
]);
}
查看:
@if($singleroom->count())
{{ $singleroom->id }}
@else
no info
@endif
我得到这个错误
属性[id]在Eloquent生成器示例上不存在。
我搜索了类似的问题,发现必须添加->get()
或->first()
:
'duplex' => Property::where('building_type_id', '4')->get(),
'singleroom' => Property::where('building_type_id', '1')->get()
我得到这个错误:
超过了60秒的最大执行时间
我查看了详细信息,我看到执行了200个查询。我不知道我是如何要求200个查询的。
我看到的建议是增加执行时间,我发现这不是200个查询的解决方案。
我已经浏览了类似问题的解决方案,但没有解决方案。我有ddd()
,但没有得到任何东西。
1条答案
按热度按时间46scxncf1#
当你在模型上静态调用
where()
时,它会返回一个查询生成器,你可以一直推直到它被执行。如果你在查询生成器上调用get()
,你会得到一个结果集合。相反,如果你先调用它,它会返回你的模型。使用
first()
调用实际获取模型。