У меня есть две таблицы с отношением один ко многим - gratitude_journal_entries
и self_gratitudes
. Множество собственных благодарностей (которые отправляются пользователем в виде текстовых записей) могут применяться к 1 gratitude_journal_entry
. Данные передаются в эти две таблицы через форму.
Я пытаюсь сохранить текстовые записи с благодарностью в массиве, а затем передать их в таблицу self_gratitude
вместе с внешним ключом из * 1007. * table.
Проблема, с которой я столкнулся, заключается в том, что я не уверен, как взять входные данные из массива и сохранить их в столбце self_gratitude
.
Вот столбцы для gratitude_journal_entries
таблица
Вот столбцы для таблицы self_gratitudes
Вот модели и способ хранения в моем контроллере
class SelfGratitudes extends Model
{
protected $table = 'self_gratitudes';
public $primarykey = 'id';
public function gratitudeJournalEntries() {
return $this->belongsTo(GratitudeJournalEntry::class);
}
}
class GratitudeJournalEntry extends Model
{
protected $table = 'gratitude_journal_entries';
public $primarykey = 'id';
public $timestamps = true;
public function user() {
return $this->belongsTo('App\User');
}
public function selfGratitudes()
{
return $this->hasMany(SelfGratitudes::class);
}
public function store(Request $request)
{
$this->validate($request, [
]);
$gj_entry = new GratitudeJournalEntry;
$gj_entry->user_id = auth()->user()->id;
$gj_entry['entry_date'] = date('Y-m-d H:i');
$self_gratitudes = $request->has('self_gratitudes') ? $request->get('self_gratitudes') : [];
$tj_entry->save();
$gj_entry->selfGratitudes()->sync($self_gratitudes);
return redirect('/dashboard')->with('success', 'You submitted a new journal entry');
}