【发布时间】:2020-04-05 08:38:56
【问题描述】:
我有一个我无法解决的问题,实际上我想回到我的 ajax 调用,混合从两个模型获得的数据之间的自定义数据,然后我做了我的查询,我做了一个 for 循环,我创建了一个自定义数组传递给视图上的ajax调用,这个问题给我一个错误,说它没有找到按钮上的data->文件夹,对不起,但我是一个新手,我什至不知道我是否使用过正确的做法。
``` public function index(Request $request)
{
if($request->ajax())
{
$folder=folder::with('person')->where('rpe','AB')->where('des',1)->get();
foreach($folder as $folder)
{
$person=Person::find($folder->person);
$data[] = [
'name' => $person->name,
'surname' => $person->surname,
'folder' => $folder->p_r,
];
}
return DataTables::of($data)
->addColumn('action', function($data){
$button = '<button type="button" name="handle" id="'.$data->folder.'" class="handle btn btn-primary btn-sm">Handle</button>';
return $button;
})
->rawColumns(['action'])
->make(true);
}
return view('test');
}```
This is ajax in the view
``` $(document).ready(function(){
$('#user_table').DataTable({
processing: false,
serverSide: true,
ajax: {
url: "{{ route('test.index') }}",
},
columns: [
{
data: 'name',
name: 'name'
},
{
data: 'surname',
name: 'surname'
},
{
data: 'action',
name: 'action',
orderable: false
}]
});});
```
without ``` id = "'. $ data-> p_r.``` works all all fields in the datatable are printed as soon as I put it tells me: *"draw": 1, "recordsTotal": 3, "recordsFiltered": 0, "data": [], "error": "Exception Message: n trying to get property 'folder’ of non-object"}*
【问题讨论】:
-
好的,我解决了问题,不是 $data->folder 而是 $data['folder']