Laravel框架开发:从数据库检索的对象转换为数组
(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; }
网友提供方法我试了一下还是不行,所以请教大家指点一下。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。