我试图使用雄辩的查询从模型中获取数据。而不是返回一个对象,它返回一个数组。代码如下所示。
public function showConversation($id,$cid){
$conversation=conversation::where('from',$id)->orWhere('to',$id)->orderBy('created_at','desc')->get()->all();
$message=message::where('conversation_id',$cid)->orderBy('created_at','desc')->get();
$key='conversation';
dd($message->id);
return view('inbox')->with('conversation',$conversation)->with('message',$message)->with('key',$key);
}
这个在dd $消息中无法作为$ message-> id访问,它显示错误是试图获取非对象的属性。但是当我们使用$ message [0] - > id时,它是可访问的。我们想要它的对象。有人可以帮忙吗?
答案 0 :(得分:0)
您将数据检索为数组。如果您希望仅收到一条消息,则应尝试以下代码:
public function showConversation($id,$cid){
$conversation=conversation::where('from',$id)->orWhere('to',$id)->orderBy('created_at','desc')->get()->all();
$message=message::where('conversation_id',$cid)->orderBy('created_at','desc')->first();
$key='conversation';
dd($message->id);
return view('inbox')->with('conversation',$conversation)->with('message',$message)->with('key',$key);
}
简而言之:
使用->first()
而不是->get()