php - 与3表的雄辩关系
问题描述
我是 laravel 的新手。我被 laravel 关系困住了。
我有 2 个表,如下所示:
asset_category (id,name,parent_id)
这里是表的parent_id
引用这里是表的引用
简而言之,我有类别、它们的子类别和维护类别(maintenance_category 可以是其中一个或的一部分)
我必须在表中显示所有类别,例如:id
asset_category
asset_maintenace_category(id,name,parent_id)
parent_id
id
asset_category
category_id
subcategory_id
S.No|category |sub-category|maintenace_category
----------------------------------------------------
1.|Activity area| Arena |clean and surfacing
2.|Activity area| Arena |surfacing
3.|Activity area| |General maintenance
那么如何定义这些表之间的雄辩关系并显示结果呢?请建议
解决方案
首先设置你的外键,然后尝试像这样连接表:
Parent::where('parent.id', '=', id)
->join('asset_category' , 'asset_category.parent_id', '=', 'parent.id')
->join('asset_maintenace_category', 'asset_maintenace_category.parent_id','=', 'parent.id')
->select('parents. ...' ,
'asset_category. ...' ,
'asset_maintenace_category. ...'
)
->get();
推荐阅读
- c# - 当我在异步中使用添加控件时如何解决跨线程问题?c#
- r - shinyapps.io 和 Microsoft R 客户端的问题 - “rsconnect 包已过期”
- laravel - Laravel Left join 不使用 where 子句返回所有记录
- android - Android Studio中相互依赖的回调函数——更优雅的解决方案
- arrays - Swift 5:将数组/字典转换为 JSON 格式
- python - Python ValueError 如果在不同的笔记本电脑上运行
- python - 列表推导中的“作为”关键字
- pyodbc - Pyodbc 只接受 windows 身份验证
- sas - 可以将带有 max 函数的子选择转换为 SAS 数据步吗?
- oracle - Crystal Report - 无法使用 Oracle 数据库打开报表