来自多列的Laravel额外计数

时间:2019-02-20 20:05:20

标签: sql laravel

我正在尝试获取Laravel 5.6中2列(“已发布”,“过期”)的计数。

我希望我的结果计数仅显示该项目是否已发布,未到期或没有到期日期。

我的代码:

*at()

谢谢

纳比

2 个答案:

答案 0 :(得分:3)

df = []
for x in year_list:
    df.append(pd.DataFrame({'years':[x]}))

以上应给您:

$numrecords = deals::where('published', 1)
    ->where(function($q){
        return $q->whereNull('expires')
            ->orwhereDate('expires', '>=', Carbon::today());
    })
    ->count();

答案 1 :(得分:0)

以下是您应该编写的查询:(今天是Laravel函数)


// 1. if the item is published
$item->where('published', true);

// 2. expire date is after today
$item->where('expiry_date', '>', today());

// 3. expire date is null
$item->whereNull('expiry_date');

//4. emit expired items
$item->where('expiry_date', '>', today());

我认为您的某些检查条件有误。

此外,您的逻辑也很混乱。我不确定要尝试写的条件是什么,但是要在什么条件下将其写下来作为计数项,然后决定使用whereorWhere