laravel框架之数据库查出来的对象实现转化为数组

时间:2021-05-26

(1)问题提出

我在从数据库查出来的数据中发现其是一个对象,而不是一个数组,这样我们就无法遍历它从而达到一些目的

(2)寻求解决

这里是我的Controller层的一小段代码

$produceStyle = exhibitionSql::allProduceStyle();//产品类型 //var_dump($produceStyle); $j=0; $produceArray = Array(); foreach($produceStyle as $value){ //var_dump($value); $j++; $produceArray[$j]=$value->produceColorType; }

这里是我Model层的一小段代码

public static function allProduceStyle(){//产品类型 $data =DB::select("select distinct produceColorType from produce "); return $data; }

可以看出我在Controller中把得到的数据首先遍历一遍,同时定义一个数组,接住这个对象中的一个字段中的值,这样我就可以把这个数据都存入一个数组进行使用了

如下:

for($i=1; $i <= $j; $i++){ // echo "sad"; //var_dump($produceArray[$i]['produceColorType']); if($select == $produceArray[$i]){ // echo "sda"; $produceData =exhibitionSql::produceColor($select);//产品数据 $CarouselData =exhibitionSql::secondCarouselData();//轮播图 return view('B_page/produce',[ 'CarouselData'=> $CarouselData, 'produceStyle'=> $produceStyle, 'produceData'=> $produceData ]); }

(3)网友解决

public function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) { $array[$key] = object_array($value); } } return $array; }

网友提供了一个这样的方法但是我试了没有效果,所以在此我也想请教一下大家,给点指导

以上这篇laravel框架之数据库查出来的对象实现转化为数组就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章