【发布时间】:2014-12-29 20:11:18
【问题描述】:
我有三张桌子
DGRS TABLE SPVS TABLE LOCS TABLE
------------------ ------------ ---------------------
dgr_date sid (PK) mloc (PK)
mc_loc (fk:locs:mloc) sname spid (fk:spvs:sid)
ws state
daily_gen
mysql查询成功返回结果:
select spvs.sname, sum(dgrs.daily_gen)
from spvs, dgrs, locs
where spvs.sid=locs.spid and locs.mloc=dgrs.mc_loc and dgrs.dgr_date='2008-04-01'
group by dgrs.dgr_date, spvs.sname;
型号
class Dgr extends \Eloquent {
public function loc(){
return $this->belongsTo('Loc');
}
public function spv(){
return $this->belongsTo('Spv');
}
}
class Loc extends \Eloquent {
public function dgr(){
return $this->hasMany('Dgr');
}
}
class Spv extends \Eloquent {
public function spv(){
return $this->hasMany('Loc');
}
}
如何将 mysql 查询写入 Laravel?请提出建议。
我试过这样:
$dgrs=DB::table('dgrs')
->join('locs', 'locs.mloc', '=', 'dgrs.mc_loc')
->join('spvs', 'spvs.sid', '=', 'locs.spid')
->select('spvs.sname')
->sum('dgrs.daily_gen')
->where('dgr_date', '=','2008-04-01')
->groupBy('dgr_date', 'spvs.sname')
->get();
得到错误:
在非对象上调用成员函数 where()。
【问题讨论】:
标签: laravel