2017-12-05 2 views
1

Ich musste die Tabelle product_price und trade_channels kombinieren, wenn ich innere Join verwenden,
die ID von Product_price ist entfernen.Inner Join in Laravel fehlt P

Hier ist mein Code

DB::table('product_price')->where('product_id',$id)->where('action','customer_price') 
     ->join('customers','product_price.action_id','=','customers.id') 
     ->get(); 

Antwort

2

Eine gute Praxis ist es, eine Spalte, die Sie tatsächlich verwenden möchten nicht alle Spalten verwenden möchten.

Es sei in diesem Fall, dass Sie alle Spalte PRODUCT_PRICE Tabelle benötigen und nur Kunden-ID aus customer_price Tisch, dann können Sie etwas tun:

DB::table('product_price') 
->select(['product_price.*','customer_price.id AS customer_id']) 
->where('product_price.product_id',$id) 
->where('product_price.action','customer_price') 
->join('customers','product_price.action_id','=','customers.id') 
->get(); 

Sie jede Spalte auswählen können, aber es ist gut alias zu nehmen von beitreten Tabellenspalte in diesem Fall ist es customer_price, so dass es nicht zu Verwirrung kommt, wenn beide Tabellen dieselbe Spalte haben.

Viel Glück

+0

Dies hat ein Wissen für mich hinzugefügt –

1

versuchen

DB::table('product_price') 
->select('*','product_price.id AS product_price_id') 
->where('product_id',$id) 
->where('action','customer_price') 
->join('customers','product_price.action_id','=','customers.id') 
->get(); 

die PRODUCT_PRICE id mit Kunden-ID sein ersetzen würde, also nur mit anderen Namen aus der PRODUCT_PRICE id drucken. hoffe, es ist Hilfe