zoukankan      html  css  js  c++  java
  • YII 关联表查询

    AR模型中可以通过relations()方法建立关系

    class B
    public function relations() { return array( 'a'=>array(self::BELONGS_TO, 'A', 'id') ); }

    这样一对一关系就建立好了。

    $b = B::model()->find($criteria);
    $a = $b->a;

    第二步是利用一个lazyFinder重新查询结构赋值给$a;

    四种关系:

    关系定义例子
    BELONGS_TO A和B的关系是一对多,那么B属于A Post属于User
    HAS_MANY A和B之间的关系是一对多,那么A有多个B User有多个Post
    HAS_ONE 这是HAS_MANY的一种特殊情况,A至多有一个B User至多有一个Profile
    MANY_MANY 这个对应多对多的情况,在AR里会将多对多以BELONGS_TO和HAS_MANY的组合来解释 Post和Category

    在AR中通过重写CActiveRecord类的relations()方法来申明关系;这个方法返回一个关系配置的数组;一个数组无素代表一个单独的关系,格式如下:

    'VarName'=>array('RelationType','ClassName','ForeignKey', ...additional options)

    Var Name 关系名
    Relation Type 四种关系:self::BELONGS_TO, self::HAS_ONE, self::HAS_MANY, self::MANY_MANY
    Class Name 代表当前AR类要关联的那个AR类名
    Foreign Key 实现关系的外键, 有可能有多个,即列名

    refer:http://blog.csdn.net/yjj1s/article/details/6885276

  • 相关阅读:
    Orcad CIS怎么批量修改字体大小
    DCDC电路电感和电容啸叫的原因
    D类功放基础简介
    U盘EFI分区删不掉怎么办
    EMI-CLK信号串电阻并电容
    Buck工作原理分析,连续模式,断续模式
    Hyperlynx仿真学习
    Audio简介
    ORCAD常见DRC错误
    39:记负均正
  • 原文地址:https://www.cnblogs.com/zaric/p/2614385.html
Copyright © 2011-2022 走看看