在yii2活动记录中搜索同一个表的两个列日期

时间:2017-10-25 05:24:22

标签: mysql yii2

我正在尝试在同一个表中的两个日期列之间搜索用户的输入日期。 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中搜索上述查询?

2 个答案:

答案 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