在常见查询中,我们可以使用像
这样的查询来选择记录或大量记录SELECT * FROM tagihan_cleaning
WHERE YEAR("ditagihkan_bulan") = 2017 AND
MONTH("ditagihkan_bulan") = 06
现在,在yii2中,我有一个dateInput,即06-2017。 然后,如何使用Activerecord只是查询上面。到目前为止,我想这样:
TagihanCleaning::find()->where([
'ditagihkan_bulan' => MONTH('ditagihkan_bulan')
])->all();
请告知
答案 0 :(得分:1)
你可以使用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();
答案 1 :(得分:1)
假设你的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();