2016-12-02 6 views
1

ich folgende Abfrage haben, die gut funktioniert und gibt Ergebnis für StatustypeMit Abfrage Ausgabe in Eloquent

AddOnModel::with('StatusType')->get(); 

Aber wenn ich unten schreiben, ist es nicht Statustype Datensätze

AddOnModel 
::select(\DB::Raw('A.AddOnID, A.AddOn, Count(R.AddOnID) as Total')) 
->from('tblAddOn as A') 
->with('StatusType') 
->leftjoin('tblrevenue as R', \DB::raw('R.AddOnID'), '=', \DB::raw('A.AddOnID')) 
->groupBy("A.AddOnID", "A.AddOn")->get(); 

Der Teil binden, das tut arbeiten nicht, ist diese: ->with('StatusType')

Bin ich etwas falsch gemacht?

Hier ist das Modell

class AddOnModel extends Model { 

    public $table = 'tbladdon'; 
    public $primaryKey = 'AddOnID'; 
    public $timestamps = true; 

    public function StatusType() { 
     return $this->hasOne('\StatusTypeModel', 'StatusTypeID', 'StatusTypeID'); 
    } 
} 

Antwort

3

Sie dies als eine Lösung tun, machen toArray() -Methode in AddOn Modell, das Verfahren zu machen gibt, was Sie ID benötigen, Name, etc, wie folgt aus:

return [ 
    'id' => $this->id, 
    'StatusType' => this->StatusType 
] 
0

Sie verwenden with() nach ->leftjoin sein kann dies beeinflussen. Versuchen Sie den folgenden Code:

AddOnModel::with('StatusType') 
->select(\DB::Raw('A.AddOnID, A.AddOn, Count(R.AddOnID) as Total')) 
->from('tblAddOn as A') 
->leftjoin('tblrevenue as R', \DB::raw('R.AddOnID'), '=', \DB::raw('A.AddOnID')) 
->groupBy("A.AddOnID", "A.AddOn") 
->get(); 

Hpoe das wird für Sie arbeiten.

+0

Noch gleiche Problem – Pankaj

+0

Ok, was ist das Ergebnis (ich meine irgendeinen Fehler ODER sonst?) –

+0

https://i.stack.imgur.com/Mgh0d.png – Pankaj