Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment récupérer tous les enregistrements par clé étrangère avec Laravel

Si vous utilisez Eloquent, vous devez bénéficier de son puissant ORM, pour obtenir toutes les citations qui appartient à un utilisateur spécifique, vous devez d'abord déclarer les relations :

modèles/Persona.php

class Persona extends Eloquent {


    public $timestamps = false;

    protected $table = 'persona';

    protected $primaryKey = 'idPersona';

    function quotes() {
        return $this->hasMany('Quote', 'idquote');
    }

}

modèles/Quote.php

class Quote extends Eloquent {

    public $timestamps = false;

    protected $table = 'quote';

    protected $primaryKey = 'idquote';

    function persona() {
        return $this->belongsTo('Persona', 'idPersona');
    }
}

Ensuite, vous pouvez simplement obtenir le persona souhaité avec toutes les citations associées en utilisant la relation que nous avons définie ci-dessus :

QuoteController.php

public function index($id) {
    $quotes = Persona::with('quotes')->find($id)->quotes;
    return View::make('quotes.index')->with('quotes', $quotes);
}