欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

关系模型(二)

程序员文章站 2022-06-01 10:55:52
...
将代码升级为TP3.2的版本,并增加了分页处理和其他功能的一些优化
这段时间对模型做了升级和优化,并将版本更新到TP3.2.

下载后请将目录放置TP的Library目录下

1.数据节点优化,原来的节点为模型的名称或者表名,现在更新为定义关系的方法名

public function test2(){
return $this->hasOne('Test2','test1_id');
}

public function test3(){
return $this->hasMany('Test3','test1_id');
}


如这里:原来返回数组的关系节点的名称为 Test2和Test3,那么现在为test2,test3

关联节点:当使用关联查询后返回数组中关联表的键

$test1 = D('Test1');
$rs = $test1->with('test2')->select();

如这段代码返回数组的结构应该是这样的

[
['id' => 1,'name'=>'aaaa','test2'=>['id'=>1,'test1_id'=>1,'name'='test2']]
]



2.增加分页处理,TP原有的分页代码可能是这样的

$User = M('User'); // 实例化User对象
$count = $User->where('status=1')->count();// 查询满足要求的总记录数
$Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数(25)
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板


那么现在可能是这样的

$User = D('User'); // 实例化User对象
$User->where('status=1')->order('create_time')->paginate();//默认显示20行
$this->assign('list',$list);// 赋值数据集
$this->display(); // 输出模板

视图中输出分页

{$list->show('输入您的分页的模板路劲')}

关系模型(二) WangDong.rar ( 5.46 KB 下载:4 次 )

AD:真正免费,域名+虚机+企业邮箱=0元