У меня есть две таблицы с отношением «многие ко многим», которые объединены этой таблицей ниже
Я использую метод хранилища ниже в моем контроллере, но при вызове он возвращает ошибку: Нарушение ограничения целостности: 1048 Столбец 'мысли_journal_entry_id' не может быть нулевым (SQL: вставить в thought_journal_entry_emotions
(emotion_id
, thought_journal_entry_id
) значения (1,?))
Я понимаю, что для thought_journal_entry_id
нет идентификатора, но я не уверен, как его найти. При попытке $entry = ThoughtJournalEntry::find(1)
это работает, но мне нужно хранить данные для новых экземпляров ThoughtJournalEntry $entry = new ThoughtJournalEntry
Как я могу это сделать?
public function store(Request $request)
{
$this->validate($request, [
'thought_entry' => 'required'
]);
$entry = new ThoughtJournalEntry;
$entry->user_id = auth()->user()->id;
$entry['entry_date'] = date('Y-m-d H:i');
$entry->thought = $request->input('thought_entry');
$emotions = $request->has('emotions') ? $request->get('emotions') : [];
$emotions2 = Emotions::find($emotions);
$entry->emotions()->sync($emotions2);
$entry->tt_id = $request->has('thinking_traps') ? $request->get('thinking_traps') : [];
$entry->balanced_thought = $request->input('balanced_thought');
$entry->save();
return redirect('/dashboard');
}