zoukankan      html  css  js  c++  java
  • TP5.1框架中的模型关联

    一对一关联

    hasOne('关联模型','外键','主键');

    • 关联模型(必须):关联的模型名或者类名
    • 外键:默认的外键规则是当前模型名(不含命名空间,下同)+_id ,例如user_id
    • 主键:当前模型主键,默认会自动获取也可以指定传入

    一对多关联

    hasMany('关联模型','外键','主键');

    • 关联模型(必须):模型名或者模型类名
    • 外键:关联模型外键,默认的外键名规则是当前模型名+_id
    • 主键:当前模型主键,一般会自动获取也可以指定传入

    远程一对多

    hasManyThrough('关联模型','中间模型','外键','中间表关联键','主键');

    • 关联模型(必须):模型名或者模型类名
    • 中间模型(必须):模型名或者模型类名
    • 外键:默认的外键名规则是当前模型名+_id
    • 中间表关联键:默认的中间表关联键名的规则是中间模型名+_id
    • 主键:当前模型主键,一般会自动获取也可以指定传入

    多对多关联

    belongsToMany('关联模型','中间表','外键','关联键');

    • 关联模型(必须):模型名或者模型类名
    • 中间表:默认规则是当前模型名+_+关联模型名 (可以指定模型名)
    • 外键:中间表的当前模型外键,默认的外键名规则是关联模型名+_id
    • 关联键:中间表的当前模型关联键名,默认规则是当前模型名+_id

    多态关联

    morphMany('关联模型','多态字段','多态类型');

    关联模型(必须):关联的模型名称,可以使用模型名(如Comment)或者完整的命名空间模型名(如appindexmodelComment)。

    多态字段(可选):支持两种方式定义 如果是字符串表示多态字段的前缀,多态字段使用 多态前缀_type多态前缀_id,如果是数组,表示使用['多态类型字段名','多态ID字段名'],默认为当前的关联方法名作为字段前缀。

    多态类型(可选):当前模型对应的多态类型,默认为当前模型名,可以使用模型名(如Article)或者完整的命名空间模型名(如appindexmodelArticle)。

    morphTo('多态字段',['多态类型别名']);

    多态字段(可选):支持两种方式定义 如果是字符串表示多态字段的前缀,多态字段使用 多态前缀_type多态前缀_id,如果是数组,表示使用['多态类型字段名','多态ID字段名'],默认为当前的关联方法名作为字段前缀
    多态类型别名(可选):数组方式定义

  • 相关阅读:
    C#Web网站的创建
    C#Repeater控件的使用
    C#LINQ
    C#异常处理
    C#LINQ
    C#匿名委托,匿名函数,lambda表达式
    C#chart图表的应用
    C#用户控件的使用
    用 Python写 daemon
    CentOS 5.4 制作 Python 2.6 RPM 包的方法
  • 原文地址:https://www.cnblogs.com/caijiqi190731/p/11543202.html
Copyright © 2011-2022 走看看