簡體   English   中英

將 Distinct 與連接表 Mysql laravel 5 一起使用

[英]Use Distinct with join table Mysql laravel 5

我的老板有一項任務要使用 laravel 5 顯示來自 mysql 的數據。他給了我這個 SQL 查詢

SELECT DISTINCT loans.loan_number, borrower.brate, loans.loint, loan_offer.amount,
loans.lterm,SUBSTRING(repayment_lender.repay_due_date,4,2)
FROM loans, loan_offer, borrower, repayment_lender,LENDER
WHERE loans.id = loan_offer.loan_id
AND loans.borrower_id = borrower.id
AND repayment_lender.loans_id = loans.id
AND lender.id = loan_offer.lender_id
AND lender.id = 3

如果執行查詢,它將如下所示像這樣

我在我的控制器中使用了這段代碼

 $data_loanoffers    =  DB::table('loans')->join('loans', 'loans.id', '=', 'repayment_lender.loans_id')
                                            ->join('loans', 'loans.id', '=', 'loan_offer.loan_id')
                                            ->join('borrower', 'borrower.id', '=', 'loans.borrower_id')
                                            ->join('loan_offer', 'loan_offer.lender_id', '=', 'lender.id')
                                            ->where('lender.id',$l_id)->distinct()->get();
return view('account.investor_portfolio',[
            'data_loanoffers'  => $data_loanoffers,
]);

並在視圖中使用此代碼來顯示數據

 @foreach($data_loanoffers as $loans)       
                                   <tr>
                                        </td>
                                        <td>{{$loans->loan_number}}</div>
                                        <td> {{$borrower->brate}} </div>
                                        <td> {{$loans->loint}} </div>
                                        <td> {{$loan_offer->amount}}</div>
                                        <td> {{$loans->lterm}}</div>
                                        <td> ?? </div>
                                    </tr>

                                    @endforeach

前端顯示錯誤像這樣

我是 laravel 5 的新手,我不知道我的代碼錯誤在哪里。 也許這里的主人可以幫助我? 提前致謝。

您需要選擇一些列,以便可以在唯一字段上應用不同。

我只是通過使用 laravel 的查詢構建器來解決我的解決方案

 $data_loanoffers        =  DB::select( DB::raw("SELECT DISTINCT loans.loan_number, borrower.brate, loans.loint, loan_offer.amount,loans.lterm,SUBSTRING(repayment_lender.repay_due_date,4,2) as DueDate
                                    FROM loans, loan_offer, borrower, repayment_lender,LENDER
                                    WHERE loans.id = loan_offer.loan_id
                                    AND loans.borrower_id = borrower.id
                                    AND repayment_lender.loans_id = loans.id
                                    AND lender.id = loan_offer.lender_id
                                    AND lender.id = '$l_id' ") );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM