我正在過濾我的產品,但我似乎只是在實際存在視圖記錄的情況下獲取產品。Laravel - selectRaw count - IF NULL設置爲零
我該如何設置「IF NULL = 0」或甚至更智能?
這裏是我的代碼:
if ($request->sort == 'views') {
$query->leftJoin('analytics', 'foreign_id', '=', 'ads.id');
$query->selectRaw('ads.*, IFNULL(count(analytics.id),0) as views');
$query->orderBy('views', "$sort_order");
}
我的DB是這樣的: ID | ip | foreign_id | foreign_type | updated_at | created_at
現在,我在我的數據庫中有一行,並與該ID的產品我唯一一個顯示。
非常感謝您的提前。
你想只有沒有空視圖的項目? – Cedric
IF NULL = 0,基本上你想要類似NOT IS NULL(analytics.id)的東西嗎? – Cedric
即使它們有0個視圖,我也希望獲得所有產品,但由於左連接上沒有行,因此它不會將關鍵「視圖」添加到我的對象中。 – RK4002