在通用查询中,我们可以使用此类查询使用此记录或大量记录
SELECT * FROM tagihan_cleaning
WHERE YEAR("ditagihkan_bulan") = 2017 AND
MONTH("ditagihkan_bulan") = 06
现在,在yii2中,我有一个日期输入,即06-2017。然后,如何使用ActivereCord就在上面查询。所以,我想知道这样的:
TagihanCleaning::find()->where([
'ditagihkan_bulan' => MONTH('ditagihkan_bulan')
])->all();
请建议
假设您的dateInput是字符串名称$ your_date_input,对于ActivereCord,您可以使用 一升和绑定
TagihanCleaning::find()->where(' YEAR("ditagihkan_bulan") = YEAR(str_to_date(:your_date_input1, "%m-%Y")
AND MONTH("ditagihkan_bulan") = MONTH(str_to_date(:your_date_input2, "%m-%Y") )
->bindValue(':your_date_input1', $your_date_input)
->bindValue(':your_date_input2', $your_date_input)
->all();
您可以使用DirectQuery:
Yii::$app->db->createCommand('SELECT * FROM tagihan_cleaning
WHERE YEAR("ditagihkan_bulan") = 2017 AND
MONTH("ditagihkan_bulan") = 06')
->queryAll();
带有准备的语句:
$post = Yii::$app->db->createCommand('SELECT * FROM tagihan_cleaning WHERE YEAR("ditagihkan_bulan")=:year AND MONTH("ditagihkan_bulan")=:month')
->bindValue(':year', '2017')
->bindValue(':month', '06')
->queryOne();