2016-12-02 99 views
1

我有以下查詢,工作正常,並給出結果爲StatusType隨着雄辯

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

但是,當我寫的下面,它不綁定StatusType記錄

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(); 

它所做的部分查詢問題不工作是這一個:->with('StatusType')

我做錯了什麼嗎?

這裏是示範

class AddOnModel extends Model { 

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

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

回答

3

你可以做到這一點的解決方案,使指定者()的附加元件模型的方法,使該方法返回你所需要的ID,名稱等,像這樣:

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

您使用with()->leftjoin後可能這將影響。嘗試下面的代碼:

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這將爲你工作。

+0

還是同樣的問題 – Pankaj

+0

好吧,什麼是結果(我的意思是任何錯誤或其他?) –

+0

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