拉拉维尔 从参数问题中获取元素


Laravel Getting element from a parameter issue

这是我从 AuthorModel 获取 AuthorData 的代码

$AuthorData = AuthorModel::where('BlogAuthor', '=', '1')->get();
echo $AuthorData;

虽然我附和$AuthorData

我正在得到

[{"AutoId":1,"BlogAuthor":1,"AuthorName":"Raj Kumar","AuthorDesc":null,"CreatedAt":null,"CreatedBy":null,"UpdatedAt":null,"UpdatedBy":null,"IsDeletable":null,"Status":1}]

但是,当我尝试仅获取如下所示echo $AuthorData->BlogAuthor;的作者名称时,我遇到了Undefined property:错误。

我犯了什么错误?

get()返回一个集合。如果您仔细查看整个对象的输出,您会发现它正在转换为数组[...]

您可能只想要first结果,因为只有一个应该匹配

$AuthorData = AuthorModel::where('BlogAuthor', '=', '1')->first();
echo $AuthorData->AuthorName;

或者,如果您想要所有结果,则需要循环

$AuthorData = AuthorModel::where('BlogAuthor', '=', '1')->get();
foreach($AuthorData as $Author){
    echo $Author->AuthorName;
}