当前位置:  开发笔记 > 编程语言 > 正文

Laravel雄辩的联合查询

如何解决《Laravel雄辩的联合查询》经验,为你挑选了0个好方法。

所以我有以下查询:

$a = Model::where('code', '=', $code)
    ->where('col_a', '=' , 1)
    ->orderBy(DB::raw('FIELD(layout, "normal", "split", "flip", "double-faced", "") ASC, layout'))

$b = Model::where('code', '=', $code)
    ->where('col_b', '=' , 1)
    ->orderBy(DB::raw('FIELD(layout, "normal", "split", "flip", "double-faced", "") ASC, layout'))

$a->union($b)->get();

当我先“ orderBy()”然后进行联合时,没有排序发生。

当我单独查询“ $ a”或“ $ b”时,“ orderBy()”工作正常。

当我以以下方式进行操作时,“ orderBy()”会整体发生。

$a->union($b)
    ->orderBy(DB::raw('FIELD(layout, "normal", "split", "flip", "double-faced", "") ASC, layout'))
    ->get();

我怎样才能使'orderBy()'分别适用于每个对象,然后将结果合并回去?似乎应该可以。

编辑:如果有人可以提供一种执行此操作的方法,即使它是正常的MySQL,我也会选择您的答案作为答案,因为我认为Eloquent可能存在一个错误。

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有