发布于 4年前

Thinkphp5.1 模型关联统计,既想使用闭包增加查询条件,又想重命名

文档地址: https://www.kancloud.cn/manual/thinkphp5_1/354063

查询条件:

$list = User::withCount(['cards'=>function($query){
    $query->where('status',1);
}])->select([1,2,3]);

foreach($list as $user){
    // 获取用户关联的card关联统计
    echo $user->cards_count;
}

重命名:

$list = User::withCount(['cards'=>'card_count'])->select([1,2,3]);
foreach($list as $user){
    // 获取用户关联的card关联统计
    echo $user->card_count;
}

重命名且查询条件 关于关联预载入时,使用了闭包,但又想设置别名,可以在闭包函数中return一个字符串,这个字符串就会被用作别名。

$list = User::withCount(['cards'=>function($query){
    $query->where('status',1);
        return 'new_count';
}])->select([1,2,3]);

foreach($list as $user){
    // 获取用户关联的card关联统计
    echo $user->new_count;
}
©2020 edoou.com   京ICP备16001874号-3