(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框架之數據庫查出來的對象實現轉化為數組就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。