laravel9, controller抓取数据view中无法提取
1. 运行环境
1). 当前使用的 Laravel 版本?
Laravel Framework 9.33.0
2). 当前使用的 php/php-fpm 版本?
PHP 版本:
PHP 8.1.6
3). 当前系统
Windows 10
4). 业务环境
开发环境
5). 相关软件版本
xampp, phpmyadmin
2. 问题描述?
在controller中处理的数据在view中提取时报错
$data_mole_full = DB::table('rdoc')
-> select ('domain','construct','subconstruct','element','PMID')
-> where('unit', 'Molecules')
-> get()
->groupBy('element')
->map(function ($item, $index) {
return [
'element' => $index,
'result' => $item->map(function ($val) {
unset($val->element);
return $val;
})
];
});
return view('rdoc/unit/rdoc_unit_1_x')
->with('data_mole_full', $data_mole_full);
}
这里查看了下数据格式,如图

视图代码如下:

出现如下报错:

尝试查看result属性

3. 您期望得到的结果?
能正常提取
关于 LearnKu
-> elment 带了个空格
map() 里面的返回值用
collect()方法包起来@Slowlyo 感谢回复。加了collect() 后没有变化。数据格式依旧是
看了下groupby()那里的数据,发现之后的去重处理没问题,只是数据格式混乱造成的问题。 groupby()处数据:
@Slowlyo 感谢。尝试toArray()还是不行。 如果数据格式是这样的(未分组,未map),可以完全在视图中正常调用
尝试调整了下:
$data_mole_full = DB::table('rdoc') -> select ('domain','construct','subconstruct','element','PMID') -> where('unit', 'Molecules') -> get()
dd($refined_datas);
现在格式是这样的:
运行后依旧报错,找不到想要的element/result。