我有一张这样的桌子。
transport_types
id name parent_id
现在,如您所见,此结构是邻接关系(递归)。所以我想要的是让所有孩子和孩子的孩子直到我有特定ID为止。因此,例如,用户将我的ID传递给我,而我必须将此用户提供给该ID的所有孩子。我决定这样做的方法是查看另一个链接的第一个答案。
Laravel query builder for recursive results? E.g. id, parent_id
但是我的问题有些困难。我没有像以下链接状态那样直接进行建模的模型。基本上,看看我有什么。
\DB::table("service_transport_type")->
join("transport_types", "transport_types.id", '=', "service_transport_type.transport_type_id")->
join("translations", "transport_types.name",'=', 'translations.id')
->join('translation_entries', 'translations.id', '=', 'translation_entries.translation_id')
->join('languages', 'translation_entries.language_id', '=', 'languages.id')
->whereIn('languages.code', ['eng'])
->where('service_transport_type.service_id', $id)
->orderBy('transport_types.parent_id')
->get([
'transport_types.id',
'transport_types.parent_id',
'translation_entries.value'
])
现在,如果您查看查询,我的第一个连接就是transport_types。加入后,我得到具有某些特定service_id的transport_type。之后,如果我具有transport_type,则需要它的所有子级。由于我没有模型难题,而我正在使用联接,我该怎么办?很难解释,但是如果您没有得到任何东西,请告诉我。