2017-10-04 6 views
0

Je la requête suivante:l'utilisation et l'article dans la requête Laravel Bulider

SELECT 
    customers.CustCompanyName, 
    addresses.AddressLine1, 
    orders.* 
FROM orders 
    INNER JOIN customers 
    ON orders.CustID = customers.CustID 
    INNER JOIN customer_addresses 
    ON customer_addresses.CustID = customers.CustID 
    INNER JOIN addresses 
    ON customer_addresses.AddressID = addresses.AddressID 
    AND orders.CustAddID = customer_addresses.CustAd 

Comment puis-je intégrer la clause AND dans l'utilisation Laravel Query Builder:

$orders = DB::table('orders') 
     ->join('customers', 'orders.CustID', '=', 'customers.CustID') 
     ->join('customer_addresses','customer_addresses.CustID', '=' , 'customers.CustID') 
     ->join('addresses','customer_addresses.AddressID','=','addresses.AddressID')->AND 

Je ne peux pas trouver un travail exemples utilisant la clause AND.

Répondre

0

Pour:

INNER JOIN addresses 
    ON customer_addresses.AddressID = addresses.AddressID 
    AND orders.CustAddID = customer_addresses.CustAd 

vous devez utiliser:

->join('addresses', function($join) { 
    $join->on('customer_addresses.AddressID', '=', 'addresses.AddressID') 
    ->whereRaw('orders.CustAddID = customer_addresses.CustAd'); 
}); 

Vous pouvez également consulter Joins in Query Builder pour plus de détails