laravel - 如何将转发器字段中的每个字段保存为模型
问题描述
有 2 种型号:Form
和Prog
。
Form
可以有很多独特的Progs
。它不像电影和流派,它就像用户和他的消息。
有表 forForms
和Progs
交叉引用表forms_progs
(它有 2 列 - form_id 和 prog_id)。
我将转发器字段 ( Progs
) 添加到模型的形式Form
。例如,如果我有 3Progs
我如何首先创建它们的模型,然后将它们的 id 与 id 的 id 连接起来Form
?
解决方案
这是一种一对多的关联,其中单个模型拥有任意数量的其他模型。您可以在 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;
推荐阅读
- reactjs - Semantic UI React 下拉菜单遮住了搜索框
- apache-kafka - Kafka Connect:如何在没有模式注册表的情况下使用 AvroConverter?
- spring-boot - 如何将对象数组传递给graphql
- javascript - 如何使用标签
- c# - 如何在 ListView 的开头添加 CheckBox
- c - 没有默认情况的 Objective-C 枚举“详尽”开关的行为
- javascript - Selenium DriverFactory Safari
- reactjs - 在开发 Microsoft 插件时反应 devtools
- go - 在 Go 中使用位掩码(Go enumeration with iota)
- c# - 是否有一个输入传递给 n 个方法的设计模式,每个方法返回下一个方法的输入