0
我有产品表和国家表,他们假设是在一个多对多的关系,但为关系包含额外的参数。laravel与信息的关系
所以在产品存在产品ID,名称
在国家有全国编号,名称
在product_country有COUNTRY_ID,PRODUCT_ID,价格
产品型号:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
/**
* Get the countries for the product.
*/
public function countries()
{
return $this->belongsToMany('Country');
}
}
国模型:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Country extends Model
{
/**
* Get the countries for the product.
*/
public function products()
{
return $this->belongsToMany('Product');
}
}
所以我知道我可以使用 - > withPivot('price') 将其添加到枢轴关系,但我无法弄清楚 - 是什么是查询产品列表的最佳方式,例如按国家来看,也许我的结构是错误的,但我希望最终能够以特定国家的价格获得所有产品。
感觉就像我需要做很多工作来获得产品的国家价格。
Country::find(1)->products->first()->pivot->price
是啊,我的例子工程,它的像你一样完全一样,我没有说出来不我只是想让它更轻松,更聪明。所以这就是我所说的我知道我可以做的事情,虽然不是我想做的事情,但我想要做的是:给一个产品_id和一个country_id - >用他所有的参数获得产品..,它是不只是价格,它的运输,货币,SKU等......我希望能够做产品表与产品国家表的“内部联接”,所以我会从产品 - > ID,名称,价格,航运等。由国家编号。 –
@ShahafAntwarg你在关系函数中传递多列。像withPivot('column1','column2'); –