当我写这个$thread = Thread::find($id);
然后我写{{$thread->title}}
它给了我线程的标题,但是当我写$thread = Thread::where('id','=',$id);
然后我写{{$thread->title}}
它给了我一个错误。为什么会发生这种情况?
答案 0 :(得分:1)
你应该写:
$thread = Thread::where('id','=',$id)->first();
获得一列,否则laravel会将其理解为数组。
答案 1 :(得分:1)
在使用where时,需要调用get()(或其任何变体)方法来执行实际查询。
Thread::where('id','=',$id)->get();
否则Thread::where('id','=',$id)
只会为您提供一个雄辩的查询构建器实例。
find()
将自动运行查询,无论您想要找到什么,您都可以做各种有用的东西(例如orderBy,paginate等),你可以很容易使用查询构建器。