代码之家  ›  专栏  ›  技术社区  ›  morne

使用原始订单的雄辩查询

  •  1
  • morne  · 技术社区  · 7 年前

    我有一个很有说服力的查询来获取列表项。
    这是基于排序列将被填充的想法,但在某些情况下它不是。
    如果是这样的话,我想按名单上的名字订购。

    order by CASE WHEN trickysort IS NOT NULL THEN trickysort::text ELSE list_name END

    这是原始查询。

        $list = Table_Lists::with(["listItems" =>
                    function($query)
                    {
                        $query
                        ->orderBy('trickysort', 'asc')
                        ->with("sublist.listItems");
                    }
                ])
                ->where("list_name","=", $name)
                ->where("hos_id","=", $hos_id)->get()->first();
        return $list ? $list->toArray() : null;
    

    表结构如下。

    table_lists 相关子表-> table_list_items

    子表项是我需要排序的项。( trickysort 其他的 list_name

    我希望这有道理。

    我在想一个原始的查询位 ->orderBy

    0 回复  |  直到 7 年前