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;
}