如何将转发器字段中的每个字段保存为模型

时间:2019-05-31 09:18:49

标签: laravel octobercms

有2种型号:FormProg

Form可以有许多唯一的Progs。这不像电影和流派,而是用户和他的消息。

FormsProgs和交叉引用表forms_progs的表(它有2列-form_id和prog_id)。

我将转发器字段(Progs)添加为模型Form的形式。例如,如果我有3 Progs个,我该如何首先创建它们的模型,然后将其ID与Form的ID连接起来?

1 个答案:

答案 0 :(得分:0)

这是一对多关联,其中单个模型拥有任意数量的其他模型。您可以在2个表中完成该操作。

对于表单模型:

class Form extends Model
{
    public function progs()
    {
        return $this->hasMany('App\Prog');
    }
}

对于Prog模型:

class Prog extends Model
{
    public function form()
    {
        return $this->belongsTo('App\Form');
    }
}

一旦定义了关系,就可以在两个方向上检索它们的“动态特性”。

// Get progs in form _id = 1
$progs = App\Form::find(1)->progs;

foreach ($progs as $prog) {
    //..
}

// Get Form Title in Prog _id = 1
$prog = App\Prog::find(1);

echo $prog->form->title;