本节课我们来了解关联模型中,统计和输出的方法; 一.关联统计 1. 使用 withCount() 方法,可以统计主表关联附表的个数,输出用 profile_count ; $list = UserMo
$list = UserModel::withCount(['profile'])->select([19,20,21]);foreach ($list as $user) {echo $user->profile_count;}
2. 关联统计的输出采用“关联方法名”_ count,这种结构输出;
3. 不单单支持 Count,还有如下统计方法,均可支持;
4. withMax() 、 withMin() 、 withSum() 、 withAvg()等; 5. 除了 withCount() 不需要指定字段,其它均需要指定统计字段;$list = UserModel::withSum(['profile'], 'status')->select([19,20,21]);foreach ($list as $user) {echo $user->profile_sum.'
';}
6. 对于输出的属性,可以自定义: $list = UserModel::withSum(['profile'=>'p_s'], 'status')->select([19,20,21]);foreach ($list as $user) {echo $user->p_s.'
';}
二.关联输出 1. 使用 hidden() 方法,隐藏主表字段或附属表的字段; $list = UserModel::with('profile')->select();return json($list->hidden(['profile.status']));或:return json($list->hidden(['username','password','profile'=>['status','id']]));
2. 使用 visible() 方法,只显示相关的字段; $list->visible(['profile.status'])
3. 使用 append() 方法,添加一个额外字段,比如另一个关联的对象模型; $list->append(['book])
来源地址:https://blog.csdn.net/qq_34820433/article/details/129794103
--结束END--
本文标题: Thinkphp 6.0关联统计和输出
本文链接: https://lsjlt.com/news/402063.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0