我正在构建一个查询来获取特定motoboy
的所有servicios
,但我需要它们是当天的。该属性的数据类型是timestamp
。我有这段代码,但不起作用
Motoboy::with(array('servicios' => function($query){
$query->where('id_estado', '1')->orWhere('id_estado', '2')
->where('fecha_hora', new DateTime('today'));
}))->where('auth_token',$auth)->firstOrFail();
最佳答案
new DateTime
正在实例化一个对象,但不具有 timestamp
所需的格式。
一个简单的解决方案是使用 date()
函数指定所需的格式,因此对于当前 timestamp
,您将使用 date('Y-m-d H:i :s')
此外,我建议您像这样查询一整天:
$startToday = date('Y-m-d 00:00:00');
$endToday = date('Y-m-d 23:59:59');
// ...
->whereBetween('fecha_hora', array($startToday,$endToday));
// ....
你的代码将变成这样:
Motoboy::with(array('servicios' => function($query){
$startToday = date('Y-m-d 00:00:00');
$endToday = date('Y-m-d 23:59:59');
$query->where('id_estado', '1')->orWhere('id_estado', '2')->whereBetween('fecha_hora', array($startToday,$endToday));
}))->where('auth_token',$auth)->firstOrFail();
关于php - 获取 Laravel 上当天的所有服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28377483/