{"id":9995,"date":"2021-05-18T04:21:16","date_gmt":"2021-05-17T19:21:16","guid":{"rendered":"https:\/\/www.itblog.jp\/?p=9995"},"modified":"2021-05-18T04:21:16","modified_gmt":"2021-05-17T19:21:16","slug":"cakephp3%e3%81%a7order-by%e3%81%abcase%e6%96%87%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.itblog.jp\/?p=9995","title":{"rendered":"cakephp3\u3067order by\u306bcase\u6587\u3092\u4f7f\u7528\u3059\u308b"},"content":{"rendered":"\n<p>cakephp3\u3067\u3001order by \u53e5\u306bcase\u6587\u3092\u4f7f\u7528\u3057\u305f\u3044\u30b1\u30fc\u30b9\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u30e1\u30e2\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u5b9f\u88c5\u3057\u305f\u304b\u3063\u305f\u306e\u306f\u4ee5\u4e0b\u306e\u5185\u5bb9\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u7279\u5b9a\u306e\u30c6\u30fc\u30d6\u30eb\u304b\u3089\u3001<\/p>\n\n\n\n<p>(1) \u3042\u308b\u30ab\u30e9\u30e0\u304cA\u307e\u305f\u306fB\u306e\u30b0\u30eb\u30fc\u30d7\u3092\u5148\u982d\u306b\u6301\u3063\u3066\u304d\u3066<\/p>\n\n\n\n<p>(2) \u305d\u306e\u5f8c\u306b(1)\u3067\u306a\u3044\u30b0\u30eb\u30fc\u30d7\u3092\u8868\u793a<\/p>\n\n\n\n<p>(3) (1)(2)\u304c\u540c\u3058\u6761\u4ef6\u5834\u5408\u306f\u3001\u5225\u306e\u30ab\u30e9\u30e0\u306e\u5024\u964d\u9806\u3067\u8868\u793a<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5b9f\u88c5\u3067\u5b9f\u73fe\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u30e2\u30c7\u30eb\u3067\u306e\u5b9f\u88c5\u306e\u4f8b\n$query = $this->find();\n\n\/\/ CASE WHEN ((\u30ab\u30e9\u30e0\u540d = A) or (\u30ab\u30e9\u30e0\u540d = B)) THEN 1 ELSE 2 END\n$case = $query->newExpr()\n                ->addCase(\n                    $query->newExpr()->add([\n                        'OR' => [\n                            '\u30ab\u30e9\u30e0\u540d' => A,\n                            '\u30ab\u30e9\u30e0\u540d' => B\n                        ]\n                    ]),\n                    [1, 2],\n                    ['integer', 'integer']\n                );\n\n$query->order([\n    $case,\n    \u30ab\u30e9\u30e0\u540d => 'DESC'\n]);\n\n\/* \u3053\u308c\u3067\u3001\nselect * from table order by (CASE when (\u30ab\u30e9\u30e0\u540d = A or \u30ab\u30e9\u30e0\u540d = B) THEN 1 ELSE 2 END), \u30ab\u30e9\u30e0\u540d DESC\n\u3068\u540c\u3058\u3082\u306e\u304c\u5b9f\u884c\u3067\u304d\u307e\u3057\u305f\n*\/\n\n<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>cakephp3\u3067\u3001order by \u53e5\u306bcase\u6587\u3092\u4f7f\u7528\u3057\u305f\u3044\u30b1\u30fc\u30b9\u304c\u3042\u3063\u305f\u306e\u3067\u3001\u30e1\u30e2\u3067\u3059\u3002 \u4eca\u56de\u5b9f\u88c5\u3057\u305f\u304b\u3063\u305f\u306e\u306f\u4ee5\u4e0b\u306e\u5185\u5bb9\u3067\u3059\u3002 \u7279\u5b9a\u306e\u30c6\u30fc\u30d6\u30eb\u304b\u3089\u3001 (1) \u3042\u308b\u30ab\u30e9\u30e0\u304cA\u307e\u305f\u306fB\u306e\u30b0\u30eb\u30fc\u30d7\u3092\u5148\u982d\u306b\u6301\u3063\u3066\u304d\u3066 ( [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[165,131],"tags":[],"class_list":["post-9995","post","type-post","status-publish","format-standard","hentry","category-cakephp","category-131"],"_links":{"self":[{"href":"https:\/\/www.itblog.jp\/index.php?rest_route=\/wp\/v2\/posts\/9995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itblog.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itblog.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itblog.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itblog.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9995"}],"version-history":[{"count":0,"href":"https:\/\/www.itblog.jp\/index.php?rest_route=\/wp\/v2\/posts\/9995\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itblog.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itblog.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itblog.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}