2016-07-05 1 views
1

自分自身でテーブルに参加しようとしていますが、エラーが続いています。ここに私の現在のコードです。私もRaw文を試しました。現時点でどの方向へ進むべきかは不明です。Eloquent - 自身のテーブルを結合する

マイコード:

$Calle = db('VoipBill') 
        ->table('billing') 
        ->join('billing', 'billing.srcnum', '=', 'billing.dstnum') 
        ->where('acct_name', '100080_company') 
        ->where('srcnum', $call->srcnum) 
        ->whereBetween('calldate', [$set_time_lower, $set_time_upper]) 
        ->get(); 

これはエラーです:

SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'billing' (SQL: select * from billing inner join billing on billing . srcnum = billing . dstnum where acct_name = 100080_company and srcnum = +27******** and calldate between 2016-05-02 09:19:27 and 2016-05-02 09:19:37)

答えて

3

あなたがテーブルの別名があります。この方法で試してください:

$Calle = db('VoipBill') 
     ->table('billing as bsrc') 
     ->join('billing as bdst', 'bsrc.srcnum', '=', 'bdst.dstnum') 
     ->where('bsrc.acct_name', '100080_company') 
     ->where('bsrc.srcnum', $call->srcnum) 
     ->whereBetween('bsrc.calldate', [$set_time_lower, $set_time_upper]) 
     ->get(); 
関連する問題