从同一个表中获取父名称

时间:2016-05-02 10:43:25

标签: laravel parent-child

我有一张表格如下:





quotes_glass_types




  id |名字| PARENT_ID
 1 |退火玻璃|空
 2 |透明浮法玻璃| 1
 3 |有色玻璃| 1
 4 |钢化玻璃|空
 5 |透明钢化玻璃| 4
  




此处,具有Null parent_id的名称是父级。
如何在laravel中显示玻璃名称及其父级?例如;




  {
 ID:2,
名称:透明浮法玻璃,
类别:退火玻璃
 }
  




在此之后我该怎么做?:




  $ glass = \ DB :: table('quotes_glass_types') - > select('id','name','parent_id as category') - > get();
  



2 个答案:

答案 0 :(得分:2)

如果您想获得父姓名称,请使用以下查询:

SELECT qgt.name,pqgt.name FROM quotes_glass_types as qgt LEFT JOIN quotes_glass_types as pqgt ON qgt.id = pqgt.parent_id

你必须在同一张桌子上使用LEFT JOIN。我不知道如何在Laravel中编写此查询,但此查询在phpmyadmin中有效。

请检查。

答案 1 :(得分:0)

你可以这样做 -

DB::table('quotes_glass_types')

->select('quotes_glass_types.*', 'qgt.name as parent_name')

->leftjoin('quotes_glass_types as qgt', 'qgt.id', '=', 'quotes_glass_types.parent_id')

->get();