很多时候,我们建表后是需要与其他表进行互动的,它们是有关联的。 比如:人表与宠物表,一个人会有宠物,而且不止一个。 这个时候,人就是主表,宠物就是子表。

步骤

  1. 需要在子表数据库表中加入字段 base_id(int类型,字段名称可自定义:在模型中重写parentField 方法即可)
  2. 在父控制器中加入以下方法

    1. protected function childControllers(): array
    2. {
    3. return [
    4. //调用子控制器的静态方法make
    5. Pets::make()
    6. ];
    7. }
  3. 在子控制器中加入以下方法

    protected function parentController(): ?object
    {
    //调用父控制器的静态方法make
    return User::make();
    }
    

生成示例

1.父控制器列表
image.png
2.点击所有宠物,打开子页面列表
image.png
3.子页面点击修改与添加
image.png