php - 如何使用连接从 3 级表中获取数据 [Laravel]
问题描述
我想使用 bd_products 的主键 (ID)获取存储在bd_product_item_ledgers中的产品数量
bd_products链接到bd_product_ledgers 然后,bd_product_ledgers链接到bd_product_item_ledgers
表:bd_products
---------------------------------------------------------------------------------
| id | name | description | image | created_at | updated_at
---------------------------------------------------------------------------------
| 1 | shoe | this is a shoe | 15243.jpg |
---------------------------------------------------------------------------------
表:bd_product_ledgers
---------------------------------------------------------------------------------
| id | product_id | cost | created_at | updated_at
---------------------------------------------------------------------------------
| 1 | 1 | 500.00 |
---------------------------------------------------------------------------------
表:bd_product_item_ledgers
---------------------------------------------------------------------------------
| id | product_ledger_id | quantity | created_at | updated_at
---------------------------------------------------------------------------------
| 1 | 1 | 200 |
---------------------------------------------------------------------------------
我可以得到产品的成本,因为那里有 ID,但我怎样才能得到数量呢?
简单的 MySQL 查询或 Laravel 雄辩等任何东西都会很好。
谢谢!
解决方案
创建三个模型产品,项目,分类帐并在产品模型中定义您的关系分类帐,并在分类帐模型中定义项目,而不是使用查询来获取数据,例如,
$data = Product::with('ledgers.item')->get();
推荐阅读
- angular - Angular devtools 配置文件记录不会停止
- google-apps-script - 找到更接近的值并复制它
- javascript - 按 Enter 键将值从表单发送到模态
- flutter - 如何在 Flutter 中将 dart_vlc 包用于桌面应用程序?
- react-native - 反应原生图像裁剪选择器网络问题....关于 axios 的 api 命中
- oauth-2.0 - 在 authcode 授权类型实现上是否默认使用 pkce 的授权代码?
- getstream-io - 用getstream.io查询在线好友
- assembly - 我的气泡代码是汇编语言吗?
- scala - 导入 scala.collection.breakOut 时出错
- java - 如何在 Java 中将 LONG 和 FLOAT 相乘