2016-06-22 6 views
0

たとえば、10時間前に選択した日付のすべての結果を取得したいのですが、結果が1つしか得られません。 。あなたの粒度は時間ないあるのでLaravel Eloquent Carbon日付はsubHoursから1つの結果しか得られません

$sub10 = Carbon::yesterday(); // This works 


$current_time = Carbon::now(); 
$sub10h = $current_time->subHours(10); // This doesn't 

$transactionsFrom = Transaction::whereUserId($user_id)->whereDate('created_at', '>=', $sub10h)->get(); 
+0

あなたは '$ sub10h'に正しい時間がありますか? –

+0

@JhonnyWalker "date": "2016-06-21 23:35:02"、はい、時間が正しくなければならず、私はsubHours(24)で試してみましたが、昨日 – Terraform

+0

ここには外れています。しかし、 'Carbon :: now(-10)'は 'subHours'メソッドが何かを混乱させている可能性があります –

答えて

0

、あなたはこの

$transactionsFrom = Transaction::whereUserId($user_id)->where('created_at', '>=', $sub10h->toDateTimeString())->get(); 

ノート代わりにwhereDatewhereを行い、toDateTimeString()を使用して文字列にカーボンインスタンスを変換する必要があります。