ThinkPHP5.0 使用 model 關聯查詢筆記

RainCyan發表於2019-08-16

詳述地址: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表會增加配置項的表字首

相關文章