2017-10-18 118 views
0

我能夠查看所有連接的表值,但問題在於它正在被重複。我已經在控制器中使用了獨特的功能。使用查詢構建器連接從多個表中獲取唯一值

我想顯示交易的產品,數量和交易金額。

Table View

控制器:

$products = DB::table('transactions') 
     ->join('transactions_prods', 'transactions_prods.trans_id', '=', 'transactions.id') 
     ->join('products', 'products.id', '=', 'transactions_prods.prod_id') 
     ->join('users', 'users.id', '=', 'transactions.user_id') 
     ->join('transactions_solds', 'transactions_solds.trans_id', '=', 'transactions.id') 
     ->select('transactions_prods.prod_id as id', 
       'transactions.type as Type', 
       'products.prod_name as product_name', 
       'transactions_prods.qty as qty', 
       'transactions.id as transid', 
       'users.id as user_id', 
       'transactions_solds.trans_amt as amount') 
     ->where('transactions.type', '=', 'Sell') 
     ->where('transactions.id', '=', $id) 
     ->distinct()->get(); 

     return view('system.transactions.edit_transaction')->with('products', $products); 

edit_transactions.blade.php

 <div class="panel-heading"><b>TransID: {{$products[0]->transid}}</b> 
     <br> 
     <b>CashierID: {{$products[0]->user_id}}</b> 
    </div> 

    <div class="panel-body" style="overflow-x:auto;"> 

     <table id="data-table" class="table table-hover"> 
      <thead> 
       <tr> 
        <th valign="middle">ID</th> 
        <th>Product</th> 
        <th>Qty</th> 
        <th>Amt</th> 
        <th>Action</th> 

       </tr> 
      </thead> 
      <tbody> 
       @foreach($products as $product) 
        <tr> 
         <td>{{$product->id}}</td> 
         <td>{{$product->product_name}}</td> 
         <td>{{$product->qty}}</td> 
         <td>{{$product->amount}}</td> 
         <td> 
          <a href="#" class="btn btn-sm btn-danger">REMOVE</a> 
         </td> 
        </tr> 
       @endforeach 
      </tbody> 
     </table> 
    </div> 

表:

transactions 
id | type | user_id 

transactions_prods 
id | trans_id | prod_id| qty 

transactions_solds 
id | trans_id | trans_amt | trans_scd 

users 
id | name | role_id | email | password 
+0

這是一個LINQ問題 – Cloud

+0

使用Group而不是distinct。 – Rits

+0

羣由什麼特別?謝謝 – ElementsOfLife

回答

0

我已經自己解決了這個問題。感謝您的支持。我將prod_id和qty合併到了transactions_solds表中,並且使用了distinct。

1

這裏的問題可能是個e加入到用戶表中。根據你所期望的結果,這似乎不是必要的。

+0

但即使我刪除用戶從加入它仍然是相同的 – ElementsOfLife

相關問題