- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个“议程中的下一个”项目,以放置在我使用 Yii2 创建的应用程序的索引页面上。
使用下面的函数,我检索数据库中“即将到来”的下一项,并根据旅行类别和日期显示。我正在使用 NOW() 表达式。
但是,这意味着下一个即将到来的项目将一直显示到 NOW() 日期,因此它不会再在当天显示。理想情况下,我应该也显示即将到来的项目,直到时间超过 $this->time 或仅在 NOW() 之后的第二天显示此项目之后的项目。
任何人都可以告诉我如何实现这一目标吗?
public function searchANext($params)
{
$query = Trip::find();
$time = new Expression('NOW()');
$query->where(['class' => Trip::CLASS_A])
->andWhere(['>=', 'date', $time])
->limit(1);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => ['defaultOrder' => ['date' => SORT_ASC]],
'pagination' => false
]);
if (!($this->load($params) && $this->validate())) {
return $dataProvider;
}
return $dataProvider;
}
最佳答案
我不知道你为什么要返回一个 ActiveDataProvider
当你只想获得一条记录时,在我看来对于这种情况没有必要。
此外,您正在加载 $params
并在创建查询后验证模型,因此如果 $params
无效,您仍然会收到错误消息并且您无论加载和验证方法返回什么,最终都会返回 $dataProvider
。
我建议您对代码进行一些更改:
public function searchANext($params)
{
// Try to load $params and validate the model first and return false
// instead of returning the result of the search.
if(!($this->load($params) && $this->validate())) {
return false;
}
// Let's get the currend DateTime. You might need to change this
// depending on the format of the 'date' field from 'Trip'
$now = date('Y-m-d H:i:s');
// Instead of creating an ActiveDataProvider, you can just get the one
// record directly and return it.
$model = Trip::find()
->where(['class' => Trip::CLASS_A])
->andWhere(['>=', 'date', $now])
->orderBy('date ASC')
->one();
return $model;
}
关于mysql - 基于 NOW() 的 Yii2 显示项目本身不显示日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41686164/
遇到 now() 在 Postgres 中的函数中使用时的行为与“now”不同的问题。 drop table if exists test_date_bug; CREATE TABLE test_da
Google 刚刚发布了一项名为 Now on Tap 的 Google Now 新功能。它使用户能够从不同的应用程序 (The Verge video example) 获得上下文帮助。 是否只是截
performance.now() 和 Date.now() 有什么区别? 我是否应该将 performance.now() 视为 Date.now() 的替代品,因为 performace.now(
需要了解为什么我会得到时差。 这是我的 VBA 代码: Public OHLCArray(1 To 481, 0 To 28, 0 To 3) As Single 'debug stm
假设: rAF now时间是在所有回调集被触发时计算的。因此,在调用该帧的第一个回调之前发生的任何阻塞都不会影响 rAF now它是准确的——至少对于第一次回调来说是这样。 在触发 rAF 集之前进行
在我的程序中,每个表都有一列 last_modified: last_modified int8 DEFAULT (date_part('epoch'::text, now()::timestamp)
这是 Form1 中的代码: private DateTime dt; [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLa
什么时候应该使用 django 的 timezone.now() 以及什么时候应该使用 python 的 datetime.datetime.now()。 例如,在下面的 INSERT 中哪个更有意义
我正在将我的项目从 Django 1.8.2 升级到 1.9.7,我收到了这个警告: WARNINGS: my_app.my_model.date_available: (fields.W161) F
我应该在我的 Rails 应用程序中使用两者中的哪一个: DateTime.now or Time.now 在应用程序中同时使用两者有什么坏处吗? 在上述 (now) 示例中,两者之间是否存在任何差异
这个问题已经有答案了: Date vs new Date in JavaScript (8 个回答) 已关闭 6 年前。 我更多地谈论添加“new”如何影响变量,为什么/何时使用它,以及为什么我在打印
// Data-Bind is Here // Data-Bind is Here Show
我想做一个查询来检查今天是否有值,如果没有,则显示今天之前最近的条目。 这是我使用的查询: $variable = 'var1'; SELECT * FROM `table` WHERE `somet
我有一个表,其中有一列 event_time。如何选择 NOW() 之前的两行和 NOW() 之后的下一行,按 event_time 排序? 单个查询是否可行? 最佳答案 怎么样 SELECT * F
我如何向 Google Now 提供我的信息或我的应用程序数据卡片?有没有我可以使用的 API? 最佳答案 Google Now API 仅提供给在 Google 注册其应用程序的用户,它一直是私有(
...当我尝试执行如下所示的查询时: Session().query(MyMappedClass).update({MyMappedClass.time:func.now()}) 我得到: Inval
我试图了解 time.Now() 和 time.Now().Local() 之间的区别。我首先在我的笔记本电脑上打印它们(运行 Ubuntu 18.04): fmt.Println(time.Now(
假设我有一个包含三个字段的数据库表:id、内容和时间戳。 全天都会收到参赛作品,因此会有大量参赛作品,并且仍会定期收到参赛作品。 当访问者查看将显示条目的网页时,该页面将显示最近的 10 个条目以及访
我对夏令时处理有点困惑 设置.py: TIME_ZONE = 'Europe/London' USE_TZ = True 在 django shell 中: >>> from django.utils
我正在使用 node.js 和 now.js。一切正常。但我想制作一个可以从命令行运行的简单客户端(因此无需浏览器)。 http://nowjs.com/doc/example 在示例中,提供了一个
我是一名优秀的程序员,十分优秀!