Я новичок в Laravel, я хочу добавить данные в две таблицы, используя одну форму.Моя таблица и их соотношение:
Я хочу добавить все поля для пользователя, затем выбрать class_id и затем section_id через раскрывающийся список.
А потом зарегистрируйтесь и я хочу, чтобы после регистрации данных.В таблице регистрации должен быть user_id зарегистрированного нового пользователя и выбранный идентификатор класса и секции.
Поля для Таблица учеников
<form method="POST" action="{{url('/storeStudent')}}">
@csrf
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}" required autofocus>
@if ($errors->has('name'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<input id="role_id" type="hidden" name="role_id" value="2">
Поля, начинающиеся с РегистрацияТаблица
<select class="" name="class_id">
<option value="null">Class</option>
@foreach($cid as $cc)
@if($counterr==0)
<option selected="selected" value="{{$cc->id}}">{{$cc->title}}</option>
{{$counterr++}}
@else
<option value="{{$cc->id}}">{{$cc->title}}</option>
@endif
@endforeach
</select>
<select section="" name="section_id">
<option value="null">Section</option>
@foreach($sec as $sc)
@if($counterrr==0)
<option selected="selected" value="{{$sc->id}}">{{$sc->title}}</option>
{{$counterrr++}}
@else
<option value="{{$sc->id}}">{{$sc->title}}</option>
@endif
@endforeach
</select>
</div>
</div>
</form>
Контроллер регистрации
protected function create(array $data)
{
return Registration::create([
'reg_id' => $data['reg_id'],
'user_id' => $data['user_id'],
'class_id' => $data['class_id'],
'section_id' => $data['section_id'],
]);
}
public function store(Request $request)
{
registration::create($request->all());
return back();
}
Store Student
public function storeStudent(Request $request)
{
$user=new User();
$user->name=$request->name;
$user->password=Hash::make($request->password);
$user->email=$request->email;
$user->role_id=2;
$user->parent_id=$request->parent_id;
$user->save();
return back();
}
Теперь я хочутот же самый user_id, который будет зарегистрирован, также должен быть сохранен в Таблица регистрации
Я использовал простой метод сохранения в контроллере для сохранения данных.