Я пытаюсь сохранить данные в БД из формы. У меня есть таблица с колонками subject
, subjectType(Economic, Informatic subject)
и subjectType_subject(pivot table)
. Я могу хранить данные в таблице Subject
, но мне нужно хранить идентификаторы в таблице subjectType_subject
. На мой взгляд, у меня есть выпадающее меню - экономические и информатические темы. Если я хочу добавить тему экономики, мне нужно добавить идентификаторы в сводную таблицу, чтобы отобразить ее.
Как я могу это сделать, пожалуйста?
Теперь я могу хранить данные только в таблице Subject, и они не отображаются в разделе «Экономическая тематика»:
SubjectController
public function create() {
}
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'abbreviation' => 'required',
'description' => ''
]);
$subject = new Subject();
$subject->name = $request->input('name');
$subject->abbreviation = $request->input('abbreviation');
$subject->description = $request->input('description');
$subject->save();
return redirect()->back()
->with('success', 'Úspěšne jsi vytvořil nový předmět.');
}
}
Модель объекта
public $table = 'Subject';
protected $fillable = [
'name',
'abbreviation',
'description'
];
public function subject_type() {
return $this->belongsToMany('App\Subject_type', 'subjectType_subject');
}
Модель SubjectType
public $table = 'SubjectType';
public function subject() {
return $this->belongsToMany('App\Subject', 'subjectType_subject');
}