2016-09-28 4 views
0

now()クエリに必要な値は、グループモデルのタイムゾーンです。クエリ内で取得する方法がわかりません。Laravel Eloquentで照会するために内部クエリから取得した値を使用する

now()の値をハードコーディングする代わりに、$ reminder-> group-> timezoneの値を使用します。どんな助けでも大歓迎です。

$reminders = Reminder::with('group','appointment') 
      ->where('reminder_datetime', '<', Carbon::now('America/New_York')) --> Use $reminder->group->timezone value instead of hardcoding the value 
      ->get(); 
+0

は 'reminder_datetime'はグループモデルの列ですか? –

+0

いいえ、リマインダモデルの列です – user3489502

答えて

1

getメソッドを呼び出すまで、クエリは実行されません。

ただし、PHP内でCarbonのメソッドnowを呼び出すには、アラームのグループのクエリ結果がタイムゾーンに到達する必要があります。

クエリ結果を取得する前にタイムゾーンが必要なため、動作しません。

代わりに、whereメソッド(タイムゾーン付き)を使用せずにリマインダー結果を取得し、メソッドで希望通りにEloquent Collectionをフィルタリングすることができます。

関連する問題