我对laravel还很陌生,今天我运行了一些代码,但却被这段代码卡住了。
$topic = topic::where('id', $id)->get();
if(is_array($topic)){
echo 'yes';
}
else{
echo 'no';
}
结果是"否",但我可以"foreach"循环浏览每个主题。
当我取消搜索时,"Foreach"只接受数组参数,但如果它是一个真实的数组,为什么_array返回"no"?
因为它不是一个数组。这是一个集合。
您可以使用toArray()
方法将其转换为数组:
$topic = topic::where('id', $id)->get()->toArray();
我想添加一些
最后,您将循环了解它是一个数组还是集合。
$topic=topic::其中('id',$id)->get()->toArray();
所以,为什么您需要将其强制转换为数组,只需要额外的执行时间就可以将结果作为数组返回,而您可以对集合执行同样的操作。
还值得一提的是,由于有很多可用的方法,处理集合可以非常轻松。查看官方文档的链接。
然后您可以检查空集合,如isEmpty()
等。尽量使用Laravel给你的开箱即用的东西。