我有一个用于创建和编辑信息的表单。 我正在使用Form :: model来显示编辑表单中从数据库中查询的所有数据。现在我必须添加另一个表单部分,其数据存储在不同的表中。但我需要在编辑过程中以相同的形式显示这些数据。我试图在表单中放入两个参数:模型不起作用或我做错了。
{!! Form::model([$employee_data,$edu_info],['route'=>['employee.update',$employee_data->id],'method'=>'put','files'=> true]) !!}
然后我尝试在控制器中合并查询数据,如下所示:
public function edit($id)
{
$edit_info['title'] = 'Edit User';
$edit_info['country'] = Country::all();
$employee_basic = Employee::withTrashed()->where('id',$id)->first();
$employee_edu = EmployeeEdu::withTrashed()->where('employee_id',$id)->first();
$employee_all_data = $employee_basic->merge($employee_edu);
$employee_all_data->all();
$edit_info['employee_data'] = $employee_all_data;
return view('admin.employee.edit',$edit_info);
}
这也不起作用。我收到以下错误:
Call to undefined method Illuminate\Database\Query\Builder::merge()
我如何达到预期的效果?
编辑:我尝试使用->get()
代替->first()
,在这种情况下,我没有收到错误,但我的合并不起作用,因为我dd($employee_all_data)
它只给了我价值$employee_edu
。
答案 0 :(得分:2)
试试这个:
$employee_all_data = $employee_basic->toArray() + $employee_edu->toArray();