laravel查询数据时报错

报这个错误Property [id] does not exist on this collection instance.
var_dump($res2)可以正常显示 var_dump($res->id)这样不会报错 但是var_dump($res2->id)就报这个错 id明明有数据的啊 这是为什么?

$res=DB::table('blog')->get();
foreach($res as $k=>$v){
    $uid=$v->uid;
    $res2=DB::table('comment')->where('uid',$uid)->get();
    var_dump($res2->id);
}

下面是得到的$res2的数据

object(Illuminate\Support\Collection)#184 (1) { ["items":protected]=> array(1) { [0]=> object(stdClass)#180 (5) { ["id"]=> int(1) ["uid"]=> int(5555) ["content"]=> string(112) "我我我我我喔喔喔喔我我我哦我问我我我我问喔喔喔喔喔喔哦我问问哦我哦我我问 我" ["href"]=> string(6) "111111" ["time"]=> int(1300215201) } } } object(Illuminate\Support\Collection)#186 (1) { ["items":protected]=> array(0) { } }
阅读 5.5k
3 个回答

红心K所说,$res2collection对象,里面的元素是数组,数组里的每一个元素是comment记录的stdClass形式;你可以这样写

foreach ($res2 as $item) {
    var_dump($item->id); 
}

$res2 是个集合吧,你打印 $res2['0']['id']看一下。另外少年,注意格式,注意命名,不要循环查数据库。。。

$res2['0']->id

另外,如果你只要一条,请用->first() 来替代 ->get()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进