首页 > 解决方案 > 如何将转发器字段中的每个字段保存为模型

问题描述

有 2 种型号:FormProg

Form可以有很多独特的Progs。它不像电影和流派,它就像用户和他的消息。

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

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

标签: laraveloctobercms

解决方案


这是一种一对多的关联,其中单个模型拥有任意数量的其他模型。您可以在 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;

推荐阅读