2016-04-25 47 views
0

我有以下形式:格式日期在控制器

<div class="form-group col-md-12 col-sm-12 col-xs-12">   
    <div class="col-md-2 col-sm-2 col-xs-2 form-label"> 
     {{Form::label('date', 'Data')}} 
    </div> 
    <div class="col-md-8 col-sm-10 col-xs-10"> 
     <div class="input-group"> 
      <span class="input-group-addon" id="interval">Inicial</span>    
     {{Form::text('dateini', null, ['class' => 'form-control'])}} 
      <span class="input-group-addon" id="interval">Final</span>    
     {{Form::text('datefim', null, ['class' => 'form-control'])}} 
     </div> 
    </div>  
</div> 

如何本月底前把其格式爲「d/M/Y」的日期檢查控制器?

public function Empenhos(Request $request) 
{ 
    $query = DB::table('empenho as emp') 
      ->select('emp.nrEmpenho as a',DB::raw("DATE_FORMAT(emp.date, '%d/%m/%Y') as b")) 
      ->orderby('emp.nrEmpenho'); 

    if ($request->dateini) $query->where('emp.date', '>=', $request->dateini); 
    if ($request->datefim) $query->where('emp.date', '>=', $request->dateini) 
      ->where('emp.date', '<=', $request->datefim); 

    $table = $query->paginate($request->perPage ? $request->perPage : 20); 

    $header = ['Numero', 'Data', 'Tipo', 'Credor', 'Ficha', 'Fonte', 'Valor']; 

    return view('results.planejamento.empenhos', 
      ['perPage' => $request->perPage, 'title' => $this->title, 
       'title2' => $this->title2[6], 'header' => $header, 'table' => $table, 'return' => 'Empenhos']); 
} 

Ps:有關代碼的任何問題,我可以提供任何必要的信息!

我的英語很糟糕,對不起,我是巴西人,我不得不在這裏尋求幫助。

+0

我不認爲你應該使用'raw'分解你的'select'。我相信它應該看起來像這樣:'select(DB :: raw('emp.nrEmpenho as a,DATE_FORMAT(emp.date,「%d /%m /%Y」)as b'))'。 – camelCase

+0

我明白了,但不行 - > if($ request-> dateini)$ query-> where(DB :: raw(「DATE_FORMAT(emp.date,'%d /%m /%Y')」) ,'> =',$ request-> dateini); ....對不起雙倍評論... oO不想刪除 –

+0

[已刪除的評論] –

回答

2

Laravel的用碳\碳爲DATETIME的接口,這樣你就可以通過綁定您的輸入使用它:

$dateinit = \Carbon\Carbon::parse($request->dateini); $datefim = \Carbon\Carbon::parse($request->datefim);

現在你可以使用碳對象是這樣的:

$dateinit->format('d/m/Y');

所以完整的示例代碼是這樣的:

`

public function Empenhos(Request $request) 
{ 
    $dateinit = \Carbon\Carbon::parse($request->dateini); 
    $datefim = \Carbon\Carbon::parse($request->datefim); 

    $query = DB::table('empenho as emp') 
     ->select('emp.nrEmpenho as a',DB::raw("DATE_FORMAT(emp.date, '%d/%m/%Y') as b")) 
     ->orderby('emp.nrEmpenho'); 

    if ($request->dateini) $query->where('emp.date', '>=', $dateinit->format('d/m/Y')); 
    if ($request->datefim) $query->where('emp.date', '>=', $dateinit->format('d/m/Y')) 
     ->where('emp.date', '<=', $datefim->format('d/m/Y')); 

    $table = $query->paginate($request->perPage ? $request->perPage : 20); 

    $header = ['Numero', 'Data', 'Tipo', 'Credor', 'Ficha', 'Fonte', 'Valor']; 

    return view('results.planejamento.empenhos', 
     ['perPage' => $request->perPage, 'title' => $this->title, 
      'title2' => $this->title2[6], 'header' => $header, 'table' => $table, 'return' => 'Empenhos']); 

} `

唯一的問題是你的數據庫時間戳的默認格式和date字段類型。

+0

抱歉,延遲,問題解決了,謝謝... –