2016-05-12 34 views
0

我需要一个查询,让我创造者的具体 。我的的名字有一个表那里有两个ID ...从不同的ID需要的信息在同一个表Laravel

为person_id creator_id

的人有名称也创建者有一个名字, 所以我需要为特定人的创建者的名称, 有模型控制器的一切。我目前正在编辑该人的刀片和所有的信息是在同一张桌子。

受审

我想在我的模型创建的方法以某种方式加入创建者ID的人的ID,但我失败了

编辑

更多info..for例如id = 10的人有

person_id = 10,person_name = john,creator_id = 20

但创建者也是其名称为乔治 一个为person_id,也都在同一个表中,以便即时通讯困惑我在编辑器也试过这种

$creators_name = DB::table('Persons') 
     ->select('person_name') 
     ->where('Persons.person_id,'=',Persons.creator_id) 
     ->where(Persons.person_id,'=',$id) 
     ->get(); 

我需要的是这样的在我的刀片中称它!

+0

那你试试? – izk

+0

尝试使用同一个表作为创建者名称。 –

+0

@ShaluSinghal我尝试加入creator_id = person_id,但是我失败了...... –

回答

1

尝试此查询

SELECT person.name as personName, creator.name as creatorName 
FROM person 
JOIN person AS creator ON creator.id = person.creator_id 

更新

在laravel方式

$result = DB::table('Persons') 
     ->join('Persons as creator', 'creator.id', '=', 'Persons.creator_id') 
     ->select('Persons.name as personName', 'creator.name as creatorName') 
     ->where(Persons.id, '=', $id) 
     ->get(); 

我assumming你有主键或PERSON_ID作为id

+0

抱歉更多laravel的方式?像我刚刚编辑 –

+0

好的,等等。我会更新。 –

相关问题