【发布时间】:2020-05-22 09:36:58
【问题描述】:
我希望我可以将多行从特定表复制到另一个表。但问题是,它无法复制密码字段数据和 spatie assignRole()。然而,电子邮件、姓名、用户名等所有字段都可以正常工作。
public function approveMultiple(Request $request) {
$get_ids = $request->ids;
$ids = explode(',', $get_ids);
$users = \App\Applicant::whereIn('id', $ids);
$users->update(['status' => 'Approved']);
$find_selected = \App\Applicant::whereIn('id', $ids)->get();
$find_selected->makeHidden(['status', 'id']);
$find_selected->makeVisible(['password']);
$new_users = $find_selected->toArray();
$users = \App\User::insert($new_users);
//problem still lays here
//$users->assignRole('Applicant');
//$users->save();
return response()->json(['success' => "Selected User(s) successfully approved."]);
}
尝试这种方法但只插入一条记录
public function approveMultiple(Request $request) {
$get_ids = $request->ids;
$ids = explode(',', $get_ids);
//$users = \App\Applicant::whereIn('id', $ids);
//$users->update(['status' => 'Approved']);
//$find_selected = \App\Applicant::whereIn('id', $ids)->get();
$find_selected = \App\Applicant::whereIn('id', $ids)->firstOrFail();
$find_selected->makeHidden(['status', 'id']);
$find_selected->makeVisible(['password']);
$new_users = $find_selected->toArray();
//$users = \App\User::insert($new_users);
$users = \App\User::create([
'name' => $find_selected->name,
'username' => $find_selected->username,
'gender' => $find_selected->gender,
'email' => $find_selected->email,
'phone' => $find_selected->phone,
'password' => $find_selected->password,
'created_at' => $find_selected->created_at,
'updated_at' => $find_selected->updated_at,
]);
//problem lays here
$users->assignRole('Applicant');
$users->save();
return response()->json(['success' => "Selected User(s) successfully approved."]);
}
【问题讨论】:
标签: laravel laravel-5 eloquent