尝试获取两个日期之间的记录时,Laravel whereDate()不起作用

尝试获取两个日期之间的记录时,Laravel whereDate()不起作用,laravel,laravel-5,laravel-5.3,laravel-5.4,Laravel,Laravel 5,Laravel 5.3,Laravel 5.4,我使用以下查询来获取两个日期之间的记录。我从日期开始输入2017-05-01,从日期开始输入2017-05-30。我运行查询并得到空结果。但是,这个DB表有许多本月的记录。我在运行日期查询之后删除了它,这样可以得到很多记录。我有什么问题 $getdatewiseresults = Companyledger::whereDate('transaction_date', '<=' , $data['frmdate_submit']) ->whereDate('trans

我使用以下查询来获取两个日期之间的记录。我从日期开始输入2017-05-01,从日期开始输入2017-05-30。我运行查询并得到空结果。但是,这个DB表有许多本月的记录。我在运行日期查询之后删除了它,这样可以得到很多记录。我有什么问题

    $getdatewiseresults = Companyledger::whereDate('transaction_date', '<=' , $data['frmdate_submit'])
    ->whereDate('transaction_date', '>=', $data['todate_submit'])
    ->WhereIn('frm_ledger', $ledgerlist)
    ->where('company_id' ,$companyids)
    ->get();
$getdatewiseresults=CompanyEdge::whereDate('transaction_date','=',$data['todate_submit']))
->其中('frm_分类账',$ledgerlist)
->其中('company_id',$companyid)
->get();
试试这个:

$getdatewiseresults = Companyledger::WhereIn('frm_ledger',$ledgerlist)->where('company_id',$companyids);
if(!empty($data['todate_submit'])) {
    $getdatewiseresults = $getdatewiseresultsget->whereBetween('transaction_date', [$data['frmdate_submit'], $data['todate_submit']]);
} else {
    $getdatewiseresults = $getdatewiseresultsget->whereDate('transaction_date', '=', $data['frmdate_submit']);
}

$getdatewiseresults = $getdatewiseresults->get();

你的日期检查错了,你做的与你想要的相反。还可以使用carbon解析日期,这样就不必担心日期格式。检查下面的代码

$fromDate = $data['frmdate_submit'];
$toDate = $data['todate_submit'];

$getdatewiseresults = Companyledger::where('company_id', $companyids)
    ->whereIn('frm_ledger', $ledgerlist)
    ->where('transaction_date', '>=' , \Carbon\Carbon::parse($fromDate))
    ->where('transaction_date', '<=', \Carbon\Carbon::parse($toDate))
    ->get();
$fromDate=$data['frmdate_submit'];
$toDate=$data['toDate_submit'];
$getdatewiseresults=companyEdge::where('company_id',$companyId)
->其中('frm_分类账',$ledgerlist)
->其中('transaction_date','>=',\Carbon\Carbon::parse($fromDate))
->其中('交易日','其中('财务报表分类账',$分类账列表)
->当($fromDate,函数($query)使用($fromDate){
返回$query->where('transaction_date','>=',\Carbon\Carbon::parse($fromDate));
})
->当($toDate,函数($query)使用($toDate){

return$query->where('transaction_date','if Todate得到空值..我做什么…@SK Jajoriya
$getdatewiseresults = Companyledger::where('company_id', $companyids)
    ->whereIn('frm_ledger', $ledgerlist)
    ->when($fromDate, function ($query) use ($fromDate) {
        return $query->where('transaction_date', '>=' , \Carbon\Carbon::parse($fromDate));
    })
    ->when($toDate, function ($query) use ($toDate) {
        return $query->where('transaction_date', '<=' , \Carbon\Carbon::parse($toDate));
    })
    ->get();