我正在尝试在同一个表中的两个日期列之间搜索用户的输入日期。 ifndb.schedule表中存在一个start_date和end_date存储在MySQL数据库中。我可以在MySQL Schema中运行查询,如下所示:
Select * from ifndb.schedule WHERE date(2017-10-15') BETWEEN start_date and end_date;
但如何在Yii2 Active Record中搜索上述查询?
答案 0 :(得分:2)
请尝试此查询
$query=ModelName::find()->andFilterWhere(['<=', 'start_date',$this->date])->andFilterWhere(['>=', 'end_date',$this->date])->all();
答案 1 :(得分:-1)
我一直都在用这个。希望它可以提供帮助
$rows = (new \yii\db\Query())
->select(['username', 'email'])
->from('user')
->where(['between', 'created_at', 1496725846, 1498568303])
->limit(10)
->all();
var_dump($rows);
说明: ->where(['between', 'created_at', 1496725846, 1498568303])
查询将返回电子邮件和用户名,其中create_date为BETWEEN 1496725846 和 1498568303