我有一个产品菜单,产品有生产者。
目前我正在这样做:
// Menu model
public function products(){
return $this->belongsToMany('Product');
}
public static function getMenuWithProducts($month, $year){
return self::
where('month', '=', $month)
->where('year', '=', $year)
->with('products')
->get();
}
getMenuWithProducts(11, 2014)
会返回包含产品的菜单。我喜欢做的事情是这样的(我已经做了一点 - 这就是为什么它不起作用):
public static function getMenuWithProducts($month, $year){
return self::
where('month', '=', $month)
->where('year', '=', $year)
->with('products')
->with('producer')
->get();
}
但我明白了:
BadMethodCallException
Call to undefined method Illuminate\Database\Query\Builder::producer()
值得指出的是生产者模型
public function products(){
return $this->belongsToMany('Product');
}
产品型号
public function producer()
{
return $this->belongsTo('Producer');
}
我写错了吗?我猜我正在使用一个不存在的函数 - 但是有没有一种方法可以在我的链中添加其他内容以使第二个with()
工作?
答案 0 :(得分:2)
在with()中,products.producer
不是producer