与3表的雄辩关系
Posted
技术标签:
【中文标题】与3表的雄辩关系【英文标题】:Eloquent relationship with 3 table 【发布时间】:2019-02-01 07:44:27 【问题描述】:我是 laravel 的新手。我被 laravel 关系困住了。
我有 2 个表如下:asset_category (id,name,parent_id)
这里 parent_id
参考 id
asset_category
表 asset_maintenace_category(id,name,parent_id)
这里 parent_id
参考 id
asset_category
表
简而言之,我有类别、它们的子类别和维护类别(maintenance_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
那么我如何定义这些表之间的雄辩关系并显示结果呢? 请推荐
【问题讨论】:
你必须与asset_category表建立自我关系,并与asset_maintenance_category表建立关系 【参考方案1】:首先设置你的外键,然后尝试像这样连接表:
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();
【讨论】:
以上是关于与3表的雄辩关系的主要内容,如果未能解决你的问题,请参考以下文章