簡體   English   中英

連接兩個表時出現Laravel 5.4錯誤

[英]Laravel 5.4 Error when Joining two tables

我需要在laravel模型中加入兩個表。 這是我的查詢

 $id="1002"; 
 $resultsInCalls =  DB::table('qlog')
    ->select('user_master.fname','user_master.lname','qlog.data2')
    ->whereDate('created', '=', date('Y-m-d'))    // this day

    ->join('qlog', 'qlog.agent', '=', 'user_master.sip_id')
    ->where('agent', '=', $id)   
    ->where(function ($query) {
        $query->where('event', '=', 'COMPLETEAGENT')
           ->orWhere('event', '=', 'COMPLETECALLER');
         }) 
    ->take(5)
    ->get();  

但是我運行此查詢時出現以下錯誤。

SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'qlog' (SQL: select `user_master`.`fname`, `user_master`.`lname`, `qlog`.`data2` from `qlog` inner join `qlog` on `qlog`.`agent` = `user_master`.`sip_id` where date(`created`) = 2017-11-29 and `agent` = 1002 and (`event` = COMPLETEAGENT or `event` = COMPLETECALLER) limit 5) 

我讀了相關的問題。 但我不知道。 如何解決此錯誤。

我完成了

 $resultsInCalls =  DB::table('qlog')
        ->join('user_master as user_table', 'qlog.agent', '=', 'user_table.sip_id')
        ->select('user_table.fname','user_table.lname','qlog.data2')
        ->whereDate('created', '=', date('Y-m-d'))    // this day
        ->where('agent', '=', $id)   
        ->where(function ($query) {
            $query->where('event', '=', 'COMPLETEAGENT')
               ->orWhere('event', '=', 'COMPLETECALLER');
             }) 
        ->take(5)
        ->get();  

暫無
暫無

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

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