「七天自制PHP框架」应用:Model外键链接
2024-08-27 17:51:55
这里以行政区数据为例:
一级行政区数据范例:
二级行政区范例:
三级行政区范例:
在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格式
最新文章
- chart.js 里添加图表的清单:
- NethServer 7.2 RC1,增加深度数据包检测
- javascript DOM 操作
- ASP.NET Core WebAPI 开发-新建WebAPI项目
- iOS8 UIAlertController弹出框中添加视图(例如日期选择器等等)
- Android开源框架ImageLoader的完美例子
- Classes and Objects :类和对象(2)
- 我也要这样写define、、
- SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案
- 一脸懵逼学习基于CentOs的Hadoop集群安装与配置
- 基于Win10极简SonarQube C#代码质量分析
- P3957 跳房子
- 绑定Github上的个人博客到Godaddy域名
- 分布式协调服务ZooKeeper的典型应用
- odoo11 添加自定义模块报错问题
- linux awk 内置函数实例
- CF724F Uniformly Branched Trees
- Spring加载静态资源的方式
- 使用tensorflow深度学习识别验证码
- Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32)