我有一个事件表。其中,事件due date
以datetime
格式存储。但是,由于要求的某些更改,现在我们只需要在date
列中显示due date
(不包括时间)。
活动(表)
id | user_id | description | due_date | is_completed
1 8 My Event1 2016-08-09 19:16:00 0
2 8 My Event2 2016-08-09 19:53:00 0
我想在日期方面显示所有事件。像2016-08-09
下的所有事件一样。
因此,我尝试使用此查询。
$upcoming_events = Events::find()->select(['due_date'])->distinct()
->where(['user_id' => Yii::$app->users->getId(),'is_completed'=> 0 ])
->andWhere(['>=','due_date',date("Y-m-d")])
->orderBy(['due_date'=>'ASC'])->limit(5)->all();
但是,现在选择了两个日期作为2016-08-09 19:16:00
和2016-08-09 19:53:00
。由于日期部分不是从select语句中获取的。它显示相同日期的2倍。
var_dump($ upcoming_events);
[1] => app\Events Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[due_date] => 2016-08-09 19:16:00
)
)
[2] => app\Events Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[due_date] => 2016-08-09 19:53:00
)
)
如何从日期时间字段中仅检索日期,以便在Yii2查询中仅获得1个日期。
任何帮助/提示/建议都是有意义的。
参考方案
您也可以只使用日期部分
upcoming_events = Events::find()->select('date(due_date) as due_date')->distinct()
->where(['user_id' => Yii::$app->users->getId(),'is_completed'=> 0 ])
->andWhere(['>=','due_date',date("Y-m-d")])
->orderBy(['due_date'=>'ASC'])->limit(5)->all();
Yii2 GridView无法设置列宽 - php这是我第一次使用Yii2 GridView Widget。在阅读了关于stackoverflow的一些答案之后,我尝试过设置列的宽度,但是它对我来说不起作用,并且如果列的宽度不同(尤其是第一个),我会喜欢的。我尝试直接在第一列中使用“ contentOptions”设置宽度,并在产品名称列中使用外部CSS文件设置宽度。有人可以告诉我是否有替代方法,或者我做错…
yii2:jquery,如果gridview列包含特定值而不是更改颜色 - php假设我在网格视图is_delivered中有一列,其中包含例如(1,1,0),(1,1,1),(0,0,0)共三个组合。我已将单元格的ID设置为“已交付”现在如何根据列中的值更改行的颜色,例如红色,蓝色或黄色。例如,如果为(1,1,1),则行颜色将为绿色,如果为(1,1,0),则行颜色将为黄色,否则为红色。我无法确定从哪里开始以及如何开始。我不能在这里使用=…
Yii2:如何在Mail-view中访问参数? - phpYii::$app->mailer->compose('order-html', ['myVar' => 'HALLO' ]) ->setTo(Yii::$app->params['adminEmail']) ->setFrom(Yii::$a…
验证IBAN PHP - php在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…
如何使用php检测字符串上的html标签? - php我需要知道html的哪个标签有一个字符串,例如:$string = '<a href="http://example.com/">Hello World!</a>' $result= 'a'; PHP中有功能吗? 参考方案 您可以使用preg_match: $result =…