laravel eloquent Beziehung von query builder

Wenn ich dies tun würde, wäre ich in der Lage zum abrufen der images() für die item

$items = Item::all();
foreach($items as $item){
    $image = $item->images()->first();
}

Allerdings, wenn ich hatte eine komplexe Abfrage mit dem Abfrage-generator. Ich wäre nicht in der Lage, um die images() aus. Gibt es einen Weg um die Beziehung der Daten aus der Beredte Modelle in Anbetracht dieser ist ein Abfrage-generator?

$items = DB::table('items as i')
    ->join('users AS u', 'i.user_id', '=', 'u.id')
    ->where('account_id', 5)->all();        
foreach($items as $item){
    $image = $item->images()->first();
}

Element Modell

class Item extends Eloquent {

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'items';

    public function images()
    {
        return $this->hasMany('Image');
    }

    public function user(){

        return $this->belongsTo('User');
    }

}

Bild Modell

class Image extends Eloquent {

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'images';

    public function item(){

        return $this->belongsTo('Item');
    }

}

AKTUALISIERT: Hinzugefügt-User-Modell

class User extends Eloquent {

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';


    public function items()
    {
        //foreign key outside using this pk
        return $this->hasMany('Item');
    }

}
InformationsquelleAutor bman | 2014-02-19
Schreibe einen Kommentar