目标:尝试从数据库表中获取某个日期的所有帖子(例如,我的日期时间格式为“ 2019-03-07 12:30:00”,那么我想从中获取所有帖子日期'2019-03-07')。
由于我需要此日期之后的帖子,因此我正在将给定的datetime转换为i18nFormat日期格式。如下::
$userSelectedDate = $selectedDate->i18nFormat('yyyy-MM-dd');
然后,在where子句中,我在表字段上使用mySql DATE function,它返回了我期望的结果。代码如下:
$conn = connectionManager::get('default');
$conn->begin();
$stmt = $conn->prepare(
"SELECT * FROM `blogs`
where DATE(`PUBLISHED_DATE`) = '$userSelectedDate'"
);
$stmt->execute();
$conn->commit();
这很好。但我想将其转换为Cakephp 3,如下所示。
$query = $this
->find()
->where([
DATE($this->aliasField('PUBLISHED_DATE')) => $userSelectedDate
])
;
这显然会引发如下错误。
错误:[PDOException] SQLSTATE [42S22]:找不到列:1054未知列
如何在Cakephp 3查询中使用mysql DATE函数?我检查了其他相关答案,但找不到办法。
答案 0 :(得分:0)
设法找到答案。
$form->field($model, 'id_color')->widget(Select2::classname(), [
'data' => ['1' => 'blue', '2' => 'red', '3' => 'yellow'],
'options' => ['class' =>'myclass'],
'pluginEvents' => [
"select2:opening" => "function() { $('.myclass').attr('disabled', true); }",
],
]);