Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Mysql Laravel上的数据库筛选器问题_Mysql_Database_Laravel - Fatal编程技术网

Mysql Laravel上的数据库筛选器问题

Mysql Laravel上的数据库筛选器问题,mysql,database,laravel,Mysql,Database,Laravel,我用的是拉威尔 下面提到的是我的db表列之一 : 我的代码是 我的控制器 : 如果我使用created at,它会工作 $participants = Participant::Where('created_at', '>=', $start_date) ->where('created_at', '<=', $end_date); $participants=Participant::Where('created_at','>=',$start_date)

我用的是拉威尔

下面提到的是我的db表列之一 :

我的代码是 我的控制器 :

如果我使用created at,它会工作

$participants = Participant::Where('created_at', '>=', $start_date)
        ->where('created_at', '<=', $end_date);
$participants=Participant::Where('created_at','>=',$start_date)
->其中('created_at'、'meta->start_time'、'>='、$start_date)

->其中('data->meta->start_time','使用
whereBetween
提示方法:

$start_date = $request->has('startDate') ? $request->get('startDate') : Carbon::now()->subDays(30)->format('m/d/Y');
$end_date = $request->has('endDate') ? Carbon::parse($request->get('endDate'))->addDays(1)->format('m/d/Y') : Carbon::now()->addDays(1)->format('m/d/Y');

$participants = Participant::whereBetween('start_time', [$start_date , $end_date])->get(); // or ->first() ur choice.

更详细地说

我已经测试了您的代码,我认为您应该更改日期格式,您应该收到与列值格式相同的startDate和endDate表单请求。例如,您的数据库中有类似“start_time”的开始时间:“2019-09-06”。因此,在比较时使用相同的日期格式

以这种方式测试代码

$start_date =  Carbon::parse('2019-09-06')->format('Y-m-d');
$end_date = Carbon::parse('2019-09-10')->format('Y-m-d');
您将收到响应,但如果使用以下格式,则不会收到任何响应

$start_date =  Carbon::parse('2019-09-06')->format('m/d/Y');
$end_date = Carbon::parse('2019-09-10')->format('m/d/Y');
您的查询很好。只需确保您的json列名是data

$participants = Participant::where('data->meta->start_time', '>=', $start_date)
                ->where('data->meta->start_time', '<=', $end_date)->get();
$participants=Participant::where('data->meta->start\u time','>=',$start\u date)

->其中('data->meta->start_time','数据库中的json列名是什么?是数据吗?
$start_date =  Carbon::parse('2019-09-06')->format('Y-m-d');
$end_date = Carbon::parse('2019-09-10')->format('Y-m-d');
$start_date =  Carbon::parse('2019-09-06')->format('m/d/Y');
$end_date = Carbon::parse('2019-09-10')->format('m/d/Y');
$participants = Participant::where('data->meta->start_time', '>=', $start_date)
                ->where('data->meta->start_time', '<=', $end_date)->get();