在 Yii2 中,你可以使用查询构建器或 ActiveRecord 来获取与当前时间最近的一条记录。以下是使用查询构建器和 ActiveRecord 的两个示例:
使用查询构建器:
php">use yii\db\Query;
$query = new Query();
$record = $query->select('*')
->from('your_table')
->where(['>=', 'datetime_column', date('Y-m-d H:i:s')])
->orderBy('datetime_column ASC')
->limit(1)
->one();
使用 ActiveRecord:
use app\models\YourModel;
$record = YourModel::find()
->where(['>=', 'datetime_column', date('Y-m-d H:i:s')])
->orderBy('datetime_column ASC')
->one();
以上示例中,你需要将 'your_table'
替换为你的表名,'datetime_column'
替换为包含日期时间的列名,以及 'YourModel'
替换为适当的 ActiveRecord 模型类名。
这两个示例都会按照日期时间升序排序,并使用 >=
运算符筛选出大于或等于当前时间的记录。然后,通过调用 one()
方法获取匹配的第一条记录。