laravel - Laravel 集合创建和使用
问题描述
嘿,我对 Laravel 真的很陌生,我无法从我的数据库中获取相关数据。我目前有一些与总体产品系列表相关的表。我目前获得了产品系列,并且正在尝试获取该系列中产品的产品代码。问题是我只返回一个产品而不是一个集合。我知道我没有正确获取信息并且我卡住了。我的控制器目前看起来像这样
public function getProductFamily($id)
{
$productfamily = ProductFamilyModel::where('id', $id)->first();
$productskus = ProductModel::where('product_family_id', $id)->get();
foreach ($productskus as $products){
$products->product_family()->get();
}
return view('product_page', compact('productfamily', 'products'));
}
我为两个产品系列设置了模型:
public function product()
{
// return $this->hasMany(ProductModel::class, 'product_family_id');
return $this->hasMany(ProductModel::class, 'product_family_products', 'product_family_id', 'product_guid');
}
产品:
public function product_family()
{
return $this->belongsToMany(ProductFamilyModel::class, 'product_family_products', 'product_guid', 'product_family_id');
// return $this->belongsTo(ProductFamilyModel::class);
}
解决方案
尝试这个:
public function getProductFamily($id)
{
$productfamily = ProductFamilyModel::where('id', $id)->first();
$products = ProductModel::where('product_family_id', $productfamily->id)->get();
return view('product_page', compact('productfamily', 'products'));
}
推荐阅读
- amazon-web-services - 芥末 - 选定文件夹的可见性
- c++ - 致命错误:libavfilter/avfiltergraph.h:没有这样的文件或目录
- cypress - 为什么赛普拉斯再次加载登录页面而不是主页?
- arrays - 如何在打字稿中将数组分成多行?
- java - HashMap 中唯一键的线程安全性
- oauth-2.0 - 将 Keycloak 与 IT HIT webdav 服务器 + Web 客户端集成
- php - 如何在 Laravel 中添加自定义验证方法
- reactjs - 集中谷歌地图问题
- typescript - Webpack 不使用 typescript 转译 ES6 模块
- lotus-notes - 公式语言:选择所有子文档