2016-05-08 9 views
0

テーブルからSQLクエリを生成するコードがあります。 別のフィールドに日付と真の値の間に存在する項目を選択したいとします。 laravel中の炭素と5高度なwhereで選択してください。カーボンとDBを使用した句とタイムスタンプ

を操作する方法についてのアドバイス次のような構成とカーボンファサードで

DBの使用、しかし、私は効果を得ることはありません、私はすべての行

private function runBids() { 
     $dt = Carbon::parse(Config::get('constants.start_lot')); 
     $start = $dt->toDateTimeString(); // 2006-05-08 08:34:59 
     $end = $dt->addDay()->startOfDay(); // 2006-05-09 00:00:00 

     $lots = DB::table('lots') 
       ->select('id') 
       ->where('end',false) 
       ->where('end_auction', '<=', $end) 
       ->where('end_auction', '=>', $start) // Not work. Return 0 results 
    // if comment ->where('end_auction', '=>', $start) result 39 results with date 
    // between dates 
    // (start it's date of first element of table order by end_auction) 
       ->get(); 
     $lots_id = array(); 
     foreach ($lots as $value){ 
     $lots_id[] = $value->id; 
     } 
     dd($lots_id); 
} 

答えて

1

を返すすべてが正しいようですただし、$startパラメータで使用される演算子は例外です。あなたは

->where('end_auction', '=>', $start) 

があり、

->where('end_auction', '>=', $start) 

を持っている必要があり=>>=との違いに注意してください。最初はMySQLエラーをスローします。そのコードをtry ... catchブロックの周りにラップし、例外メッセージを確認してください。

また、期待される結果が得られないときは、実行されたクエリを確認するために、one of this answersを使用して実行したクエリを記録することもできます。

+1

ああ私の神様...間違いのこの質問についての時間。たくさんの感謝。 Laravelのクエリログを有効にするヒント – abkrim

関連する問題