gpt4 book ai didi

Laravel 左连接检查条件是否大于计数

转载 作者:行者123 更新时间:2023-12-04 13:25:47 25 4
gpt4 key购买 nike

我想检查用户付款数量的限制,其中在用户表上设置了限制。
所以我有以下数据库结构

table user
id,name,...,pay_limit
和付款表
table payment
id, user_id, payment_ref
所以我创建了以下代码
$query = User::query();
//other stuff
$query->leftJoin('payment','payment.user_id','=','user.id')

//stuck
我坚持如何检查用户的付款总额是否不大于用户 pay_limit
我如何在查询中检查上述内容

最佳答案

关系简单。假设支付模式为payment_amount中的支付和支付金额柱子

class User extends Model{

public function payments()
{
return $this->hasMany(Payment::class);
}

public function getIsOverLimitedAttribute(): bool
{
//if you check amount
return $this->payments()->sum('payment_amount') > $this->pay_limit;
//or if you check count of payments
return $this->payments()->count() > $this->pay_limit;
}
public function scopeNoOverLimited($query){
return $query->withCount('payments')->having('payments_count', '<', $this->pay_limit);
}
}
并使用
if($user->isOverLimited){
//do stuff
}
或者不要超过有限的用户:
User::noOverLimited()->get();

关于Laravel 左连接检查条件是否大于计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68656338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com