如何将两个不同的表中的两列与laravel中的雄辩相乘

时间:2017-08-02 07:24:32

标签: php laravel eloquent

顺序

  • ID
  • CURRENCY_CODE
  • ex_rate_with_base
  • 状态
  • total_in_base_currency
  • 状态

货币

  • currency_code
  • 符号
  • CURRENCY_NAME
  • CURRENCY_VALUE
  • ex_rate_with_base
  • 状态

order_list

  • ID
  • ORDER_ID
  • PRODUCT_CODE
  • 数量
  • unit_price_in_base_currency
  • 状态

我想要以下输出:

在此,我想使用eloquent将订单表的ex_rate_with_base字段与 order_list 表的unit_price相乘。

2 个答案:

答案 0 :(得分:4)

我想你可以试试这个:

DB::table('order')
->select(DB::raw('(order.ex_rate_with_base * order_list.unit_price_in_base_currency) as orderRate'))
->leftjoin('order_list','order_list.order_id','=','order.id)
->get();

希望这对你有用!!!

答案 1 :(得分:1)

如果您有Order和OrderList Eloquent Models,您可以从控制器尝试这样的事情。

<强> YourOrderController.php

$order= Order::find($orderId);
$orderList = OrderList::where('order_id',$orderId)->get();
$calculatedPrice = $orderList->unit_price_in_base_currency * $order->ex_rate_with_base;