这是当我从下面的查询
回显$TagDatas;
时
$ TagDatas = TagModel :: whereIn('TagId',explode(',',$ BlogData-> Tagged)) - > get(); echo $ TagDatas;
我正在
[{ “自动识别”:2 “TAGID”:2 “标记名”: “铬”, “TagDescription”:NULL, “CreatedAt”:NULL, “CreatedBy”:NULL, “UpdatedAt”:NULL,” UpdatedBy “:NULL,” IsDeletable “:空,” 状态 “:1},{” 自动识别 “:3”,TAGID “:3” 标记名 “:” 谷歌”, “TagDescription”:NULL, “CreatedAt”:空“CreatedBy”:NULL, “UpdatedAt”:NULL, “UpdatedBy”:NULL, “IsDeletable”:空, “状态”:1}]
但是当我尝试
时echo $TagDatas->TagName;
我收到Undefined property:
错误
我在做什么,我该怎么做。
注意:
我正在使用whereIn,其中查询将等于
$BlogData->Tagged i.e., It will be 2,3
所以查询将是
$TagDatas = TagModel::whereIn('TagId', array(2,3))->get();
答案 0 :(得分:1)
因为$TagDatas
将是集合。循环遍历它以获取各个标签:
foreach($TagDatas as $TagData){
echo $TagData->TagName;
}
答案 1 :(得分:1)
错误很明显。
$ TagDatas是您的模型的集合。您需要遍历该集合以获取每个项目。 该集合没有属性TagName,只有它的元素(TagModel类型)具有它。
所以你应该这样做,以回应每个人的TagName。
foreach($TagDatas as $TagData){
echo $TagData->TagName;
}