簡體   English   中英

2個日期之間的數據范圍Laravel

[英]Data range between 2 dates Laravel

我需要獲取2個日期之間的所有值(Datapicker)。 用戶選擇他想要的日期,然后將顯示所有信息,但是我不知道該怎么做,我嘗試了一下,但是沒有用:(

第一部分是我的控制器

第二個是我的搜索功能

在最后一部分中,我添加了有關最終前端的圖像

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\ClienteModel;

class Reportecontroller extends Controller
{
    public function index(Request $request)
    {


if ($request) 
        {
        $query=trim($request->get('searchText')); 

         $fechainicial = $request->input('fec_ini_instalacion');
         $fechafin = $request->input('fec_fin_instalacion');

         $Reportes= DB::table('cliente') 
         ->select('vin')
         ->whereBetween('vin',array($fechainicial,$fechafin))
         ->get();

        return view('Vistas.Reportes.index',["Reportes"=>$Reportes,"searchText"=>$query]);
        }



        }


<!---Recordar que dicha ruta llamara a nuestro metodo index  y realizara el filtro por medio del searchtext-->

{!! Form::open(array('url'=>'Vistas/Reportes','method'=>'GET','autocomplete'=>'off','role'=>'search'))!!}
<div class="form-group">

<div class="input-group">
     <span class="input-group-btn">
     <input type="text" name="" value="{{$searchText}}" >
         <button type="submit" class="btn btn-primary" value="{{$searchText}}">Buscar</button>

    </span>
</div>

</div>


{{Form::close()}}

報告頁面的圖像

可能是數據格式化。 要解決此問題,您可以創建一個函數並調用該函數以轉換Request中的日期:

private function convertDate($date)
{
    if ($date === null) {
        return null;
    }

    $dt = \DateTime::createFromFormat('d/m/Y', $date);
    if ($dt) {
        return $dt->format('Y-m-d');
    } else {
        return null;
    }
}

然后,以日期作為參數調用它:

$fechainicial = $this->convertDate($request->input('fec_ini_instalacion'));
$fechafin = $this->convertDate($request->input('fec_fin_instalacion'));

您可能還想將字段vin添加到客戶模型的$ date變量中。 這會將字段轉換為Carbon對象,可以提供幫助。

protected $dates = ['vin'];

由於這將是Carbon實例,因此您也應該將要比較的日期轉換為Carbon實例。 可以將其與上述Laerte的答案結合起來。 代替使用\\ DateTime :: createFromFormat(),您只需返回一個新的Carbon實例。

return new Carbon($date)

過去,Laravel在比較日期時遇到問題,我發現使用內置的Carbon包並將所有內容轉換為Carbon實例是最有用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM