提问人:Abdelrhman Qouay 提问时间:10/2/2023 最后编辑:ShadowAbdelrhman Qouay 更新时间:10/3/2023 访问量:43
如何在MySQL中使用Laravel,如果每个产品都支持语言和一些嵌套的支持信息...看见了解
how to use inside mysql with laravel if for each product supported languages with some nested supported info ... see to understand
问:
我正在将 Laravel 与 (MySQL)...我想做的是这样的:
for each product->>>
langs
english:
interface: true,
subtitles: false,
interface: true,
,
arabic:
interface: false,
subtitles: true,
interface: true,
,
.........
.........
但是...(每种语言都有自己的产品,例如一个标签或其他)
我希望通过上面关于每个 lang 行的嵌套信息的示例获得具有受支持语言的每个产品
请在您的回复中明确( laravel 或 mysql 或任何工具,使想法清晰
答:
0赞
Khayam Khan
10/3/2023
#1
语言模型
class Language extends Model
{
public function products()
{
return $this->belongsToMany(Product::class, 'language_product')
->withPivot('interface', 'subtitles');
}
}
产品型号
class Product extends Model
{
public function languages()
{
return $this->belongsToMany(Language::class, 'language_product')
->withPivot('interface', 'subtitles');
}
}
您的数据透视表language_product将具有产品 ID 和语言 ID 以及其他字段,如界面、字幕等,您可以在关系中使用 Pivot 获取它
现在,您可以检索每个产品及其支持的语言。
$products = Product::with('languages')->get();
foreach ($products as $product) {
foreach ($product->languages as $language) {
}
}
您可以从这里阅读更多内容 官方文档
评论