Mysql
 sql >> Database >  >> RDS >> Mysql

Come recuperare tutti i record tramite chiave esterna con Laravel

Se stai usando Eloquent, devi trarre vantaggio dal suo potente ORM, per ottenere tutte le citazioni che appartiene all'utente specifico devi prima dichiarare le relazioni:

modelli/Persona.php

class Persona extends Eloquent {


    public $timestamps = false;

    protected $table = 'persona';

    protected $primaryKey = 'idPersona';

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

}

modelli/Quote.php

class Quote extends Eloquent {

    public $timestamps = false;

    protected $table = 'quote';

    protected $primaryKey = 'idquote';

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

Quindi puoi semplicemente ottenere il persona desiderato con tutte le virgolette correlate utilizzando la relazione che abbiamo definito sopra:

QuoteController.php

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