【问题标题】:Eloquent - join table on itselfEloquent - 在自身上连接表
【发布时间】:2016-07-05 07:58:05
【问题描述】:

我正在尝试自行加入一个表,但不断出现错误。这是我当前的代码。我也试过 Raw 声明。目前不知道该往哪个方向发展。

我的代码:

$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]:语法错误或访问冲突:1066 不唯一 表/别名:'billing' (SQL: select * from billinginner join billing on billing.srcnum = billing.dstnum 其中acct_name = 100080_company 和 srcnum = +27******** 和 calldate 在 2016-05-02 09:19:27 和 2016-05-02 09:19:37 之间)

【问题讨论】:

    标签: mysql laravel eloquent


    【解决方案1】:

    您必须给表起别名。试试这个方法:

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

    【讨论】:

      猜你喜欢
      • 2013-08-19
      • 2013-02-06
      • 1970-01-01
      • 2019-12-06
      • 2023-03-12
      • 2023-04-03
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多