sql >> Base de Datos >  >> RDS >> Mysql

Cómo recuperar todos los registros por clave externa con Laravel

Si está utilizando Eloquent, debe beneficiarse de su poderoso ORM para obtener todas las citas que pertenecen para un usuario específico, primero debe declarar las relaciones:

modelos/Persona.php

class Persona extends Eloquent {


    public $timestamps = false;

    protected $table = 'persona';

    protected $primaryKey = 'idPersona';

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

}

modelos/Presupuesto.php

class Quote extends Eloquent {

    public $timestamps = false;

    protected $table = 'quote';

    protected $primaryKey = 'idquote';

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

Entonces simplemente puede obtener la persona deseada con todas las citas relacionadas usando la relación que definimos arriba:

QuoteController.php

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