Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel ORM在两个日期之间获取记录?_Php_Laravel_Eloquent - Fatal编程技术网

Php Laravel ORM在两个日期之间获取记录?

Php Laravel ORM在两个日期之间获取记录?,php,laravel,eloquent,Php,Laravel,Eloquent,我有任务表以及日期列“提醒日期”和“截止日期”。我需要在这两天之间完成所有任务。我对查询知之甚少,所以ORM会更好 我试过了 $today = date("Y-m-d"); $availTasks = Task::whereRaw($today.' between rem_date and due_date')->get(); echo ($availTasks); 使用闭包的化合物如何: $dateToday = date('Y-m-d H:i:s'); $query = Task:

我有任务表以及日期列“提醒日期”和“截止日期”。我需要在这两天之间完成所有任务。我对查询知之甚少,所以ORM会更好

我试过了

$today = date("Y-m-d");
$availTasks = Task::whereRaw($today.' between rem_date and due_date')->get();
echo ($availTasks);

使用闭包的化合物如何:

$dateToday = date('Y-m-d H:i:s');

$query = Task::where(function ($query) use ($dateToday){
    $query->where('rem_date', '>=', $dateToday);
    $query->where('due_date', '<', $dateToday);
});
echo $query->get();
$dateToday=date('Y-m-dh:i:s');
$query=Task::where(函数($query)use($dateToday){
$query->where('rem_date','>=',$dateToday);

$query->where('due_date','使用闭包的化合物怎么样:

$dateToday = date('Y-m-d H:i:s');

$query = Task::where(function ($query) use ($dateToday){
    $query->where('rem_date', '>=', $dateToday);
    $query->where('due_date', '<', $dateToday);
});
echo $query->get();
$dateToday=date('Y-m-dh:i:s');
$query=Task::where(函数($query)use($dateToday){
$query->where('rem_date','>=',$dateToday);

$query->where('due_date','首先,要正确使用日期字符串,它应该是:

$availTasks = Task::whereRaw('? between rem_date and due_date', [$today])->get();
如果您的
rem\u date
due\u date
列是
date
类型,则应该可以工作。但是如果它们是
DATETIME
类型,则不可以工作。您应该使用:

$availTasks = Task::whereRaw('? between DATE(rem_date) and DATE(due_date)', [$today])->get();

首先,要正确使用日期字符串,它应该是:

$availTasks = Task::whereRaw('? between rem_date and due_date', [$today])->get();
如果您的
rem\u date
due\u date
列是
date
类型,则应该可以工作。但是如果它们是
DATETIME
类型,则不可以工作。您应该使用:

$availTasks = Task::whereRaw('? between DATE(rem_date) and DATE(due_date)', [$today])->get();

Upvote,也使用比较运算符允许类似于MySQL的DB使用日期索引SUPPOVET,也使用比较运算符允许类似于MySQL的DB使用日期索引