Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como recuperar todos os registros por chave estrangeira com Laravel


Se você estiver usando o Eloquent, você precisa se beneficiar de seu poderoso ORM, para obter todas as cotações que pertencem para um usuário específico, você deve declarar as relações primeiro:

modelos/Persona.php
class Persona extends Eloquent {


    public $timestamps = false;

    protected $table = 'persona';

    protected $primaryKey = 'idPersona';

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

}

models/Quote.php
class Quote extends Eloquent {

    public $timestamps = false;

    protected $table = 'quote';

    protected $primaryKey = 'idquote';

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

Então você pode simplesmente obter a persona desejada com todas as citações relacionadas usando a relação que definimos acima:

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