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'); –