内部加入laravel失踪P.

时间:2017-12-05 03:59:54

标签: laravel laravel-5.4 query-builder

当我使用内连接时,我需要将两个表product_price和trade_channels组合在一起,
product_price的ID将被删除。

这是我的代码

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

2 个答案:

答案 0 :(得分:2)

一个好的做法是选择一个您真正想要使用的列而不需要所有列。

假设在这种情况下,您需要product_price表的所有列,并且只需要来自customer_price表的客户ID,那么您可以执行以下操作:

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();

您可以选择任何列,但是在连接表列的别名方面很有用,在这种情况下,它是customer_price,因此如果两个表都具有相同的名称列,则不会产生混淆。

祝你好运

答案 1 :(得分:1)

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();

product_price id将替换为customers id,因此只需使用其他名称打印product_price id。 希望它有所帮助