Joining multiple tables in Query Builder is so simple:
DB::table('projects')
->select('tasks.*')
->join('tasks', 'tasks.project_id', 'projects.id')
But for now customer asks me to avoid join usage:
SELECT tasks.*
FROM projects, tasks
WHERE tasks.project_id = projects.id
How to do it?
Usage of Builder's method from is bad idea:
from accepts only one string (one table name), not arrayfrom kills table and from written beforeP.S. Please do not waste time to describe how Eloquent works - I need to know how to do it just with Laravel Query Builder. If it's possible with LQB, of course
while I would say to use the Join syntax, since it's much more clear what you are doing and any performance difference in negligible if none, if you really want to build your query you can pass to any query method, a "raw" instance to have it build your query as is
DB::table(DB::raw('projects, tasks'))
->select('tasks.*')
->whereColumn('tasks.project_id', 'projects.id')
->dd();
results in: select `tasks`.* from projects, tasks where `tasks`.`project_id` = `projects`.`id`