• 「七天自制PHP框架」应用:Model外键链接


    这里以行政区数据为例:

    一级行政区数据范例:

    二级行政区范例:

    三级行政区范例:

    在Model层建立三个Model

    class ProvinceModel extends Model{
    	public static $data;
    	public static $name;
    	public function __construct(){
    		parent::__construct();
    		$this::$name='province_list';//name of obj
    		$this::$table='china_province';
    		$this::$primary_key='provinceid';
    	}
    }
    
    class CityModel extends Model{
    	public static $data;
    	public static $name;
    	public function __construct(){
    		parent::__construct();
    		$this::$name='city_list';//name of obj
    		$this::$table='china_city';
    		$this::$primary_key='cityid';
    	}
    }
    
    class AreaModel extends Model{
    	public static $data;
    	public static $name;
    	public function __construct(){
    		parent::__construct();
    		$this::$name='area_list';//name of obj
    		$this::$table='china_area';
    		$this::$primary_key='areaid';
    	}
    }
    

    因为非常反感每次做外键链接时写不完的FOR循环和IF判断,所以做了个HasMany的一对多关系,增强代码复用性

    在Controller层绑定关系

    $province_model=new ProvinceModel();
    $province_model::$data=$province_model::all();
    		
    $city_model=new CityModel();
    $city_model::$data=$city_model::all();
    		
    $area_model=new AreaModel();
    $area_model::$data=$area_model::all();
    		
    $city_model->HasMany($area_model,'cityid');
    $province_model->HasMany($city_model,'provinceid');
    

    最后把数据导出为JSON格式

    本文为博主原创文章,转载请在明显位置注明出处: http://www.cnblogs.com/sweng

    本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。

  • 相关阅读:
    2 实现第一个Django网站 博客
    jeecms支持的freemaker标签大全
    dao 获取表最大排序实现
    spring对数据库特殊字段的支持
    hibernate id生成器配置
    Long与long的比较
    jquery validation ajax 验证
    swfupload用法总结
    oracle对序列的操作
    jquery.layout框架分割线
  • 原文地址:https://www.cnblogs.com/sweng/p/9410357.html
Copyright © 2020-2023  润新知