当我尝试从数据库中获取元素时,如果表为空,我遇到问题,我收到此错误
调用非对象
上的成员函数where()
如果我将数据插入表中,它将正常工作
$projects = Project::find(Auth::user() -> id)->where('admin_id', Auth::id())->where('actived',0)->lists('name','id');
任何解决方案? :)
答案 0 :(得分:2)
find()
方法将检索ID匹配的模型的单个实例。添加where()
条件没有意义,在您的情况下,您没有找到匹配的模型,因此您收到该错误消息,因为Project::find()
是返回null
。
如果您想查询符合您列出的所有条件的单个项目,请执行以下操作:
$projects = Project::where('user_id', '=', Auth::user()->id)
->where('admin_id', '=', Auth::id())
->where('actived', '=', 0)
->get();
请注意,我在这里猜测了你要完成的事情 - 上面的列名可能不正确。
这将为您提供一个包含零个或多个{1}} Eloquent模型实例的集合。
答案 1 :(得分:0)
我发现解决方案只是将find
替换为findOrNew
:
$projects = Project::findOrNew(Auth::user() -> id)->where('admin_id', Auth::id())->where('actived',0)->lists('name','id');