Laravel 5.2版本的whereDate

问题描述 投票:-1回答:1

什么是以下条件的laravel 5.2版本:

->whereDate('created_at', '=', $sel_date) 

请注意,$ sel_date的格式如下:

$sel_date = date('Y-m-d');
php laravel laravel-5
1个回答
1
投票

Laravel whereDate方法生成以下查询:

.... WHERE DATE('created_at') = 'Y-m-d date here'

您可以使用原始位置获得相同的查询:

->where(\DB::raw("DATE(created_at) = '".$sel_date."'"));

UPDATE

一种好的方法是在原始查询中使用绑定,因此编写查询的正确方法是:

->where(\DB::raw("DATE(created_at) = '?'", [$sel_date]));

使用第一种方法在代码中从您创建变量$ sel_date时不会出现问题,但是当它是用户输入时,如果您不使用绑定或不清理用户输入,可能会导致出现SQL Injection


-1
投票
 use Carbon\Carbon
 ->whereDate('date', '=', Carbon::today())->get();

->whereDate('created_at', $sel_date);
© www.soinside.com 2019 - 2024. All rights reserved.