【问题标题】:Laravel UNION ALL not working with where statementLaravel UNION ALL 不适用于 where 语句
【发布时间】:2015-09-29 15:40:41
【问题描述】:

我想把两个队列合二为一。

$buildings_queue=IngameBuildingQueue::where(DB::raw('UNIX_TIMESTAMP(`start_time` + `duration`)'),'<=',time());
$recruit_queue=IngameRecruitQueue::where(DB::raw('UNIX_TIMESTAMP(`start_time` + `duration`)'),'<=',time());
$queue=$buildings_queue->unionAll($recruit_queue);
dd($queue->toSql());

Laravel 抛出:

[ErrorException] 未定义属性:Illuminate\Database\Eloquent\Builder::$bindings

但是当我删除 where() 方法时一切正常。

我该如何解决?

【问题讨论】:

    标签: php laravel where laravel-5.1 union-all


    【解决方案1】:

    根据 Laravel 用户手册,这应该可以工作

    IngameRecruitQueue::where(DB::raw('UNIX_TIMESTAMP(`start_time` + `duration`)'),'<=',time())->union($buildings_queue)->get();
    

    也尝试用驼峰命名法编写你的变量

    $buildings_queue 将是 $buildingsQueue

    查看此答案以了解更多信息:https://softwareengineering.stackexchange.com/a/196463

    【讨论】:

      猜你喜欢
      • 2018-03-31
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      相关资源
      最近更新 更多