I have 3 tables: Outputs, Products and Services in my Laravel 5 project.
I want to JOIN these 3 tables in one QUERY based for this condition:
if outputs.article_type = 'p'
(p = product) get the products.name
if outputs.article_type = 's'
(s = service) get the service.name
$outputs = Output::join('products', 'products.id', '=', 'outputs.article_id')
... only if outputs.article_type is p (p=product)
->join('services', 'services.id', '=', 'outputs.article_id')
... only if outputs.article_type is s (s=service)
->select(array('outputs.output_at','---services or product---.name as article_name'))