Php 使用文本输入Laravel创建一对多表关系

Php 使用文本输入Laravel创建一对多表关系,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我有两个具有一对多关系的表-感恩日记账分录和自我感谢。多个自贡(由用户作为文本条目提交)可应用于1感恩日志条目。数据通过表单传递给这两个表 我正在尝试将自我感恩文本条目存储在一个数组中,然后将它们与来自感恩日志条目表的外键一起传递到自我感恩表 我遇到的问题是我不确定如何从数组中获取输入并将其存储在self\u列中 以下是感恩日记账\u分录表的列 以下是自我评分表的列 以下是我的控制器中的模型和存储方法 class SelfGratitudes extends Model { prot

我有两个具有一对多关系的表-
感恩日记账分录
自我感谢
。多个自贡(由用户作为文本条目提交)可应用于1
感恩日志条目
。数据通过表单传递给这两个表

我正在尝试将自我感恩文本条目存储在一个数组中,然后将它们与来自
感恩日志条目
表的外键一起传递到
自我感恩

我遇到的问题是我不确定如何从数组中获取输入并将其存储在
self\u
列中

以下是
感恩日记账\u分录
表的列

以下是
自我评分表的列

以下是我的控制器中的模型和存储方法

class SelfGratitudes extends Model
{
    protected $table = 'self_gratitudes';
    public $primarykey = 'id';

    public function gratitudeJournalEntries() {
        return $this->belongsTo(GratitudeJournalEntry::class);
    }
}

如果要在数据库中保留数组,可以对列使用强制转换:

你试过使用select2吗?
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');
    }
class SelfGratitudes extends Model
{
    protected $casts = [
        'self_graitude' => 'array',
    ];

    protected $table = 'self_gratitudes';
    public $primarykey = 'id';

    public function gratitudeJournalEntries() {
        return $this->belongsTo(GratitudeJournalEntry::class);
    }
}