(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框架之数据库查出来的对象实现转化为数组就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
- Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
- 在Laravel5.6中使用Swoole的协程数据库查询
- Laravel5.7 数据库操作迁移的实现方法
- Laravel5.5 数据库迁移:创建表与修改表示例
- Laravel使用Caching缓存数据减轻数据库查询压力的方法
- 浅谈laravel数据库查询返回的数据形式
- laravel 查询数据库获取结果实现判断是否为空
- laravel 判断查询数据库返回值的例子
- 在 Laravel 6 中缓存数据库查询结果的方法
- laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
- Laravel5.1 框架数据库查询构建器用法实例详解