Reputation: 170
I need a query that gives me the name of the creator of the specific person .I have a table with persons where there are two ids...
person_id creator_id
The person has a name also the creator has a name, So i need the name for the creator of the specific person, there is model Person controller everything.I am currently working on the edit blade of the person and all the info is in the same table.
TRIED
I tried creating a method in my model to somehow join the creator id to the person id but i failed
EDIT
More info..for example a person with id = 10 has
person_id = 10 , person_name = john , creator_id = 20
but the creator is also a person_id which has the name george ,there are all in the same table so im confused i also tried this in my edit controller
$creators_name = DB::table('Persons')
->select('person_name')
->where('Persons.person_id,'=',Persons.creator_id)
->where(Persons.person_id,'=',$id)
->get();
I need something like this to call it in my blade !
Upvotes: 0
Views: 768
Reputation: 563
Try this query
SELECT person.name as personName, creator.name as creatorName
FROM person
JOIN person AS creator ON creator.id = person.creator_id
Update
in laravel way
$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();
I am assumming you have primary key or person_id as id
Upvotes: 1