ThinkPHP5.0 使用 model 关联查询笔记

详述地址:https://blog.thinkphp.cn/852701

补充:

1、联合分页 paginate 使用

<?php
$list = $model->with(['kid','home'])->where($urldata['where'])->order($urldata['order'])->paginate(null, false, ['page'=>input('get.page'), "query"=>input('get.')]);

//with:JOIN查询model中k_id和home_id分别对应with里面两个关联方法kid表id和home表id

2、但是使用 with 只能根据主表 model 字段进行 where 查询,子表 kid 和 home 无法进行查询,需要使用 hasWhere 方法

$list = Model::hasWhere('kid', function($query) {
            $query->where('kid_name', 'like', '%李%');
            })->order($urldata['order'])->paginate(null, false, ['page'=>input('get.page'), "query"=>  input('get.')]);

注意:这里关联的 kid 表会增加配置项的表前缀

php
本作品采用《CC 协议》,转载必须注明作者和本文链接