需要来自同一张表上不同id的信息Laravel


Need Info from different id on the same table Laravel

我需要一个查询,该查询提供特定人员的建者的名称.我有一张人员的表,其中有两个ID。。。

person_id创建者_id

人有名字,创造者也有名字,所以我需要特定人物的创作者的名字,有模型人员控制器的一切。我目前正在编辑这个人的刀片,所有信息都在同一张表中。

尝试

我试着在我的模型中创建一个方法,以某种方式将创建者id连接到人员id,但失败了

编辑

更多信息。。例如,id=10的人具有

person_id=10,person_name=john,creator_id=20

但是创建者也是一个名为george的personid,都在同一张表中,所以我很困惑,我也在我的编辑控制器中尝试过这个

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

我需要这样的东西来称呼它!

尝试此查询

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

更新

以惊人的方式

$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();

我假设您有主键或person_id作为id