多表关联一对多查询实现取最新一条数据,tp5分组查询最新的数据

//构建子查询
$comment_subquery = Db::name('comment')
    ->field('oid,calltime')
    ->order('calltime','desc')
    ->limit(100000)//不加有可能获取的不是最新的一条
    ->buildSql();

$list = OrderModel::alias('a')
    ->join([$comment_subquery=> 'b'], 'a.id=b.oid', 'left')
    ->where($conditions)//条件
    ->group('a.'.$sort)
    ->order('a.'.$sort.' '.$direction.',b.calltime desc')
    //->field('a.*,b.calltime')
    ->paginate(20,false,['query'=>request()->param()]);

你可能感兴趣的:(ThinkPHP,php,mysql)