Join request in laravel
I am trying to execute a request in laravel, but it doesn't give me any result. However, when I try to run a raw query in PHP MyAdmin I get the desired results
Laravel request:
DB::table('ticket_details')
->join('ticket_stages', 'ticket_stages.stage_id', '=', 'ticket_details.stage_id')
->join('users_details', 'users_details.user_id', '=', 'ticket_details.assigner_id')
->join('client_details', 'client_details.client_id', '=', 'ticket_details.client_id')
->join('user_roles', 'user_roles.role_id', '=', 'users_details.role_id')
->select('client_details.client_id, client_details.client_name,
ticket_details.ticket_identifier, ticket_details.ticket_id,
ticket_stages.stage_name, ticket_details.assigner_id,
users_details.user_name, user_roles.role_name')
->get();
Raw request:
Select c.client_id, c.client_name, t.ticket_identifier, t.ticket_id, s.stage_name,
t.assigner_id, u.user_name, r.role_name
from ticket_stages s inner join ticket_details t on s.stage_id = t.stage_id
inner join users_details u on u.user_id = t.assigner_id
inner join client_details c on t.client_id = c.client_id
inner join user_roles r on r.role_id = u.role_id
What could be the problem?
+3
source to share
2 answers
That was my fault. A very simple mistake. Didn't put quotes after each parameter of the select clause.
DB::table('ticket_details')
->join('ticket_stages', 'ticket_stages.stage_id', '=', 'ticket_details.stage_id')
->join('users_details', 'users_details.user_id', '=', 'ticket_details.assigner_id')
->join('client_details', 'client_details.client_id', '=', 'ticket_details.client_id')
->join('user_roles', 'user_roles.role_id', '=', 'users_details.role_id')
->select('client_details.client_id', 'client_details.client_name', 'ticket_details.ticket_identifier', 'ticket_details.ticket_id', 'ticket_stages.stage_name', 'ticket_details.assigner_id', 'ticket_details.creator_id', 'ticket_details.assignee_id', 'users_details.user_name', 'user_roles.role_name')
->get();
0
source to share