October/Winter CMS使用Builder创建关联数据模型(Relation字段的使用)

本文使用OctoberCMS的Builder创建一个产品模型的Plugin,该产品模型除设置产品内容外还需要一个设置分类并且可供调用的功能。

本文只记录了关键点,篇幅有限为了不显得累赘未记录如Models,Controllers,Backend Menu的创建等常规操作,因此本文不适合OctoberCMS新手阅读

一 创建表结构

产品分类表

产品数据表

关系表(注意这里是核心表,后面会用到该表名)

二 Models

Models这里主要提一下重点注意的产品模型,其它的不需要特别设置,不做过多阐述

Forms中的fields.yaml中的Relation字段,关于更多Relations的使用说明可参考官方

这里需要注意的是Name column一定要写正确,不然在编辑的时候不显示标题

Lists中的columns.yaml

Lists中的columns.yaml

这里的设置效果是用于列表中展示的,效果如下

后台列表效果

三 修改文件

这一点非常重要,找到Product的对应Model,如我的文件位于 /plugins/julian/product/models/Product.php 添加以下代码

    /* Relations */

    public $belongsToMany = [
        'category' => [
            'julian\product\models\Category',
            'table' => 'julian_product_product_category',  /*这里是上面创建的关系表*/
            'order' => 'title'
        ]
    ];

最后看一下效果

Post Comment