簡體   English   中英

Yii Framework 2.0 ActiveRecord日期不在兩個日期之間

[英]Yii framework 2.0 ActiveRecord date not between two dates

使用Yii framework 2.0,我有一個數據庫表,其中包含'from_date''to_date'列 我想選擇並計算所有記錄,其中:

  1. 今天不在 from_dateto_date之間。 而且甚至不等於這些日期(!($ from_date <= $ today)&&!($ today <= $ to_date)))

要么

  1. from_date為NULL, to_date為NULL。 因為在某些記錄中這些日期是空的,所以也需要選擇和計算它們。

我有一個擴展ActiveRecord類的模型,因此可以使用以下代碼來檢索數據:

ModelClass::find()-where('big>small')->andWhere('1<2')->orWhere('3>1')->count();

我試圖閱讀Yii 2.0的文檔,但無法弄清楚如何使用NOT BETWEEN或EQUAL NULL。

如果為null,則可以使用以下代碼:

ModelClass::find()->where([
    'from_date' => null,
    'to_date' => null,
])

並且從該指南中,您可以輕松地鏈接where屬性: http : //www.yiiframework.com/doc-2.0/yii-db-query.html#where%28%29-detail

您在查詢之前已傳遞參數“ NOT”,例如:

$query->andWhere(['not',['id'=> null]]);

你可以試試這個

  ->andWhere(['NOT', 
        ['AND', 
        ['>=', 'fromTime', (new \DateTime($from_date))->format('H:i:s')],
        ['<=', 'toTime', (new \DateTime($to_date))->format('H:i:s')]
        ]
    ]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM