Laravel输出:
Array
(
[0] = stdClass Object
(
[ID] = 5
)
[1] = stdClass Object
(
[ID] = 4
)
)
我想将其转换为普通数组。 只想删除该stdClass Object。 我也尝试使用->toArray();,但出现错误:
Call to a member function toArray() on a non-object.
我怎样才能解决这个问题?
功能已在http://www.srihost.com上实现
该对象是否来自数据库? 我还没有使用过laravel,但是也许有一个API可以生成一个关联数组而不是对象。 无需转换整个对象,然后将它们转移到另一个数组中
是的,它来自数据库。
有重复的问题吗? stackoverflow.com/questions/28658891/
自Laravel 5.4版本开始更新,不再可用。
您可以更改数据库配置,如建议使用@Varun,或者如果只想在这种情况下执行此操作,则:
DB::setFetchMode(PDO::FETCH_ASSOC);
// then
DB::table(..)->get(); // array of arrays instead of objects
// of course to revert the fetch mode you need to set it again
DB::setFetchMode(PDO::FETCH_CLASS);
我认为您应该添加一个问题,这不仅将更改所有查询的获取模式。但是很高兴知道也可以这样改变
是的,除非您将其还原,否则它将影响此请求的所有查询。编辑清楚。
您还可以编辑config / database.php,将fecth => PDO :: FETCH_CLASS替换为PDO :: FETCH_ASSOC
foreach($yourArrayName as $object)
{
$arrays[] = $object->toArray();
}
// Dump array with o