2017-08-02 48 views
2

爲了如何從兩個不同的表雄辯在laravel

  • ID
  • CURRENCY_CODE
  • ex_rate_with_base
  • 狀態
  • total_in_base_currency
  • 狀態
012乘兩列

貨幣

  • CURRENCY_CODE
  • 符號
  • CURRENCY_NAME
  • CURRENCY_VALUE
  • ex_rate_with_base
  • 狀態

order_list

  • ID
  • ORDER_ID
  • PRODUCT_CODE
  • 數量
  • unit_price_in_base_currency
  • 狀態

我想下面的輸出:

在這裏我要乘爲了表的ex_rate_with_base場用雄辯unit_price order_list表。

+0

你有一點點向我們展示? 到目前爲止,您做了什麼努力來實現這一目標? –

+0

你可以在表格中添加細節關係嗎? –

+0

您是否定義了模型和關係? – apokryfos

回答

2

我想你可以試試這個:

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

希望這對你的工作!

+0

@Sabyasachi戈什我希望我的回答對你 –

+0

@Sabyasachi戈什幫助:如果我的回答是你的解決方案,那麼請接受我的答案 –

1

如果你有Order和OrderList雄辯模型,你可以從控制器嘗試類似的東西。

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; 
+0

這是不對的承擔尤其是由OP特定關係結構'order_list'顯然是一個透視表而不是一個實體表。 – apokryfos

+0

根據OP顯示的內容,'order_list'不是數據透視表。 (它可能應該,但它不是) 和OP要求使用'order_list.unit_price_in_base_currency'和'order.ex_rate_with_base'使用侃侃而談。所以... –

+0

你仍然假定類Order和OrderList存在。 OP似乎拒絕回答他們是否確實存在,這使得我有些懷疑Eloquent模型實際存在。 – apokryfos