从多对多关系中获取数据

时间:2016-01-25 09:19:43

标签: php laravel laravel-5

我有这种关系:

产品:

eval(parse())

城市:

public function cities()
{
   return $this->belongsToMany('App\Cities', 'product_price_in_city', 'products_id', 'city_id')->withPivot('product_price_city');
}

现在,如果我需要为该城市的特定产品定价,我该如何在产品或城市模型中做到这一点?

这样的事情:

我在产品型号中这样做了。 我知道这是错的,但我应该怎么做呢?

public function products()
{
   return $this->belongsToMany('App\Product', 'product_price_in_city', 'city_id', 'products_id')->withPivot('product_price_city');
}

3 个答案:

答案 0 :(得分:0)

public function getProductRateForCity($city_id)
{
    return $this->cities()->where('product_price_in_city.city_id', $city_id)->get();
}

这对我有用。

答案 1 :(得分:0)

尝试一下,就像在docs

中一样
File mode specification error: (void-function shr-render-buffer)

答案 2 :(得分:-1)

public function getProductRateForCity($city_id)
{
    return $this->cities()->where('city_id', '=', $city_id)->where('product_id', '=', $this->id)->get();
}

应该这样做。没有测试过。 我从未见过 - > where()只有两个参数。