2016-12-02 71 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