Laravel伯爵>其他伯爵

问题描述 投票:-1回答:2

我有下一个问题:

我有关于mysql的下一个表

ID | IDPAYMENT | CUSTOMER | PAYDATE     | STATUS    |  PENDINGAMOUNT | PAYTO DATE
1  |    1      |   JOHN   |  2018-12-15 |  PAYED    |    $0          | 2018-11-01
2  |    1      |   JOHN   |    NO/PAY   |  PENDING  |    $10         | 2018-11-15   
3  |    1      |   JOHN   |    NO/PAY   |  PENDING  |    $10         | 2018-12-01   
4  |    1      |   JOHN   |    NO/PAY   |  PENDING  |    $10         | 2018-12-15   
5  |    1      |   JOHN   |    NO/PAY   |  PENDING  |    $10         | 2019-01-01   
6  |    1      |   JOHN   |    NO/PAY   |  PENDING  |    $10         | 2018-01-15  
7  |    1      |   JOHN   |    NO/PAY   |  PENDING  |    $10         | 2018-02-01 

我想用PENDING计算状态并与ID计数进行比较:

状态待定= 6

ID COUNT = 7

我们的想法是将状态=待定的PENDINGAMOUNT和日期<到今天添加为无付款的佣金......

laravel
2个回答
0
投票

用于:

SUM状态=待定的PENDINGAMOUNT,日期<到今天......

原始SQL:

SELECT COUNT(*) FROM table_name WHERE `status` = 'PENDING` AND `paydate` < CURDATE()

转换为laravel构建器:

$count = Model::where('status', 'PENDING')->whereDate('paydate', '<', Carbon::today())->count();

获取所有行的总数:

$totalCount = Model::count();

不确定添加佣金,因为我们需要更多的业务逻辑。


-2
投票

我不知道你的模型名称是什么,但要准确得到你要求的是Laravel使用单个查询快速简单地解决:

$models = \App\YourModelName::get();

然后从集合中获取计数:

$idCount = $models->count();
$statusPendingCount = $models->where('status', 'PENDING')->count();

通过已查询的模型,您可以通过集合获得其他可能需要的内容。

© www.soinside.com 2019 - 2024. All rights reserved.