关联

一对一


一对多

关系说明

simpleGroup有多个simpleClass

simple_group表中 group_id 主键

simple_class表中 pid 外键

定义模型关系

/**
 * 考勤组模型
 */

namespace app\admin\model;

use think\Db;
use app\common\model\Model;

class SimpleGroup extends Model
{    
	// 关联考勤组子集模型
    public function simpleClass()
    {
        return $this->hasMany('SimpleClass', 'pid', 'group_id');//关联的模型,外键,当前模型的主键
    }

    // 根据考勤组获取某个考勤组和其子集
    public static function getGroupByID($id)	
    {
        $group = self::with('simpleClass')->find($id); // 通过 with 使用关联模型,参数为关联关系的方法名
        return $group;
    }

    /**
     * 获取关联的考勤组数据 
     * 返回Array
     */
    public static  function GetAllSimpleClass ($where='')
	{
		// 查询所有所有考勤组下面的数据
		if ($where == '') {
			$list = self::with('simpleClass')->select();
		}else{
			$list = self::with('simpleClass')->where($where)->select();
		}
		$data = [];
		foreach ($list as $key => $v) {
			$data[] = $v->toArray();
		}
		return $data;
	}

}



导航