我有一个雄辩的查询来获取列表项。
这是基于将填充排序列的想法,但在某些情况下则不会。
如果是这种情况,那么我想按列表名称排序。
或多或少我在下面写了什么。
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
部分中的RAW查询位。