Я новичок в Laravel, и я делаю проект, в котором у меня есть три таблицы «резидент, личность, адрес», все три соединены с внешними ключами. И мне нужно иметь возможность использовать одну форму для всех трех таблиц и для сохранения данных в их соответствующей таблице.
Резидентная таблица имеет поле с именем person_id, связанное с «id» таблица person и person имеют поле с именем «address_id», подключенное к «id» таблицы адресов ...
Это мой контроллер:
public function create()
{
return view('residents.create', compact('schools','nivels','modalities'),[
'person' => new Person,
'resident' => new Resident
]);
}
public function store(Request $request)
{
Resident::create( $request->validated() );
return redirect()->route('residents.index')->with('status','The resident was created successfully.');
}
Это моя модель :
public function person() {
return $this->hasMany(Person::class);
}
public function address () {
return $this->hasMany(Address ::class);
}
И этот файл предназначен для проверки данных:
public function rules()
{
return [
'enrollment' => 'required',
'school_id' => 'required',
'level_id' => 'required',
'modality_id' => 'required',
];
}
public function messages()
{
return[
'enrollment.required' => 'The resident needs a enrollment',
'school.required' => 'The resident needs a school',
'level_id.required' => 'The resident needs a level',
'modality.required' => 'The resident needs a modality'
];
}
Буду очень признателен за вашу помощь, я застрял на этом пару дней.