zoukankan      html  css  js  c++  java
  • thinkphp一对多HAS_MANY

    关联关系
    通常我们所说的关联关系包括下面三种:
    一对一关联 :ONE_TO_ONE,包括HAS_ONE 和 BELONGS_TO
    一对多关联 :ONE_TO_MANY,包括HAS_MANY 和 BELONGS_TO
    多对多关联 :MANY_TO_MANY
    关联关系必然有一个参照表,例如:
    有一个员工档案管理系统项目,这个项目要包括下面的一些数据表:基本信息表、员工档案表、部门
    表、项目组表、银行卡表(用来记录员工的银行卡资料)。
    这些数据表之间存在一定的关联关系,我们以员工基本信息表为参照来分析和其他表之间的关联:
    每个员工必然有对应的员工档案资料,所以属于HAS_ONE关联;
    每个员工必须属于某个部门,所以属于BELONGS_TO关联;
    每个员工可以有多个银行卡,但是每张银行卡只可能属于一个员工,因此属于HAS_MANY关联;
    每个员工可以同时在多个项目组,每个项目组同时有多个员工,因此属于MANY_TO_MANY关联;
    分析清楚数据表之前的关联关系后,我们才可以进行关联定义和关联操作。

    对于HAS_MANY举一个小例子如下:

    某个商品下有无数个用户评论:

    GoodsModel.class.php

    <?php
    namespace HomeModel;
    use ThinkModelRelationModel;
    class GoodsModel extends RelationModel{
        protected $_link = array(
            'comment'=>self::HAS_MANY //这是一个常量,声明是一对多关系,并且Relation已经内部集成了Model功能了
        );
    }
     ?>

    在调用商品详情的时候显示这个商品的用户评论,只需要:

    $goods_comment = $goodsModel->relationGet('comment');

    就可以取得所有用户的评论,就是这么简单!

  • 相关阅读:
    HDU 5640 King's Cake
    HDU 5615 Jam's math problem
    HDU 5610 Baby Ming and Weight lifting
    WHU1604 Play Apple 简单博弈
    HDU 1551 Cable master 二分
    CodeForces659C Tanya and Toys map
    Codeforces 960E 树dp
    gym 101485E 二分匹配
    Codeforces 961E 树状数组,思维
    Codeforces Round #473 (Div. 2) D 数学,贪心 F 线性基,模板
  • 原文地址:https://www.cnblogs.com/xiong63/p/6123262.html
Copyright © 2011-2022 走看看