У меня есть группа и члены группы. Одна таблица предназначена для группы, в которой я храню только имя группы, а вторая таблица - для членов группы, где у меня есть поле user_id, group_id.
Я создаю API с использованием почтальона и хочучтобы вставить детали членов группы, например:
"group_members": [1,3]
Мой запрос тела:
{
"name": "Steve", // name is group name
"group_members": [1,3] // [1,3] here 1 and 3 is user_id
}
Я хочу сохранить [1,3] в таблице group_members вполе user_id против group_id, если есть [1,3], тогда в поле user_id должны быть введены две записи. Я также прикрепил снимок экрана моей таблицы:
Мой контроллер:
DB::beginTransaction();
try{
$request->request->add(['created_by' => Auth::user()->id]);
$group = $this->group->create($request->only($this->group->getModel()->fillable));
$request->request->add(['group_id' => $group->id]);
$this->groupMembers->create($request->only($this->groupMembers->getModel()->fillable));
DB::commit();
return response([
'status' => true,
'message' => 'Group added',
], 200);
} catch(\Exception $ex) {
DB::rollback();
return response([
'status' => false,
'message' => __('messages.validation_errors'),
'errors' => $ex->getMessage(),
], 500);
}
Как я могу сохранить значения этого массива в базе данных, ваша помощь будет высоко оценена?
try {
$group = $this->group->find($request->input('id'));
$request->request->add(['updated_by' => Auth::user()->id]);
$group->fill($request->all())->save();
return response(['status' => true, 'message' => 'Group updated'], 500);
} catch (\Exception $ex) {
return response(['status' => false, 'message' => 'Validation Errors', 'errors' => $ex->getMessage()], 500);
}
public function updateGroup(Request $request)
{
$validator = UserValidations::validateGroup($request->all());
if($validator->fails()) {
return response(['status' => false, 'message' => 'Validation Errors', 'errors' => $validator->errors()->all()], 500);
}
try {
$group = $this->group->find($request->input('id'));
$request->request->add(['updated_by' => Auth::user()->id]);
$group->fill($request->all())->save();
return response(['status' => true, 'message' => 'Group updated'], 500);
} catch (\Exception $ex) {
return response(['status' => false, 'message' => 'Validation Errors', 'errors' => $ex->getMessage()], 500);
}
}