(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;
}网友提供了一个这样的方法但是我试了没有效果,所以在此我也想请教一下大家,给点指导
解决数据库查询结果为对象而非数组的问题
本文探讨了从数据库获取数据时遇到的问题:查询结果返回的是对象而非数组,导致无法直接遍历处理。作者分享了如何通过将对象转换为数组的方法来解决此问题,并寻求更优解决方案。
1万+

被折叠的 条评论
为什么被折叠?



