2016-08-03 9 views
0

私のプロジェクトにはイベントがあり、イベント "XYZ"は "21st Jan"、 "20 August"、 "30 December"のように複数の日付を持つことができます。彼らは毎年再帰的です。ここに私のモデルがあります:Laravelの関係テーブルからフィールドをオーダーする

class Event extends Model { 

    public function dates() { 
     return $this->hasMany('App\EventDate'); 
    } 

} 


class EventDate extends Model 
{ 

    public function event() 
    { 
     return $this->belongsTo('App\Event'); 
    } 
} 

私はイベントを選択して、イベントの日付が近いほうに並べ替えたいと思います。 $クエリ([ '日付' =>関数($クエリ){

$ query->( 'START_DATE'、 '>'、カーボン::今())と

イベント:: - > orderBy( '​​start_date');

}]);

しかし、毎年再帰的なので、ここで問題となる将来のイベントをチェックし、start_dateでイベント自体を順序付けします。

+0

$eventDates = EventDate::with('event') ->where('start_date', '>', Carbon::now()) ->orderBy('start_date') ->all(); 

今、あなたは、イベントの日付とアクセスイベントデータを通じて、以下の方法を反復することができますあなたのEventDateテーブルにありますか?あなたは1日か1か月か1年しか保管しませんか? –

答えて

0

最も簡単なオプションは、イベントの日付とそれに対応するイベントを取得することです:あなたは何

foreach ($eventDates as $eventDate) { 
    echo $eventDate->event->name; 
} 
関連する問題