Laravel où sur l'objet relationnel

Je suis le développement d'une api web avec Laravel 5.0, mais j'ai un doute au sujet d'une requête.
Mes classes sont présentes:

class Event extends Model {

    //
    protected $table = 'events';
    public $timestamps = false;

    public function partecipants()
    {
        return $this->hasMany('App\Partecipant', 'IDEvent', 'ID');
    }

    public function owner()
    {
        return $this->hasOne('App\User', 'ID', 'IDOwner');
    }
}

et

class Partecipant extends Model {

    //
    protected $table = 'partecipants';
    public $timestamps = false;

    public function user()
    {
        return $this->belongTo('App\User', 'IDUser', 'ID');
    }

    public function event()
    {
        return $this->belongTo('App\Event', 'IDEvent', 'ID');
    }
}

Maintenant, je veux obtenir tous les événements avec un partecipant.
J'ai essayé avec:

Event::with('partecipants')->where('IDUser', 1)->get();

mais la condition est appliquée sur les Événements de la classe, et non pas sur les Participants.
Cela au lieu de me donner une exception:

Partecipant::where('IDUser', 1)->event()->get();

Je sais que je peux écrire ceci:

$list = Partecipant::where('IDUser', 1)->get();
for($item in $list) {
   $event = $item->event;
   ...other code....
}

mais ne pas courir trop de requêtes vers le serveur?

Alors, où est le meilleur moyen d'effectuer cette requête avec Laravel et Éloquent?

source d'informationauteur Lic | 2015-05-01