{"id":999,"date":"2025-06-12T04:32:27","date_gmt":"2025-06-11T20:32:27","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/999.html"},"modified":"2025-06-12T04:32:27","modified_gmt":"2025-06-11T20:32:27","slug":"%e5%9c%a8laravel-eloquent%e4%b8%ad%e4%bd%bf%e7%94%a8case-when","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/999.html","title":{"rendered":"\u5728Laravel Eloquent\u4e2d\u4f7f\u7528\u2018CASE WHEN\u2019"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel Eloquent &#20013;&#20351;&#29992; <code>CASE WHEN<\/code> &#35821;&#21477;&#26469;&#22788;&#29702;&#22797;&#26434;&#30340;&#26465;&#20214;&#26597;&#35810;&#38750;&#24120;&#26041;&#20415;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#32534;&#20889;&#33258;&#23450;&#20041;&#30340;&#26597;&#35810;&#26041;&#27861;&#25110;&#32773;&#30452;&#25509;&#22312;&#27169;&#22411;&#20013;&#20351;&#29992; <code>DB::raw<\/code> &#26041;&#27861;&#26469;&#23454;&#29616;&#36825;&#19968;&#28857;&#12290;&#20197;&#19979;&#26159;&#19968;&#20123;&#31034;&#20363;&#20195;&#30721;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312; Laravel Eloquent &#20013;&#20351;&#29992; <code>CASE WHEN<\/code>&#12290;<\/p>\n<h3>&#31034;&#20363;1&#65306;&#20351;&#29992;&#33258;&#23450;&#20041;&#26597;&#35810;&#26041;&#27861;<\/h3>\n<p>&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#21517;&#20026; <code>Orders<\/code> &#30340;&#27169;&#22411;&#65292;&#24182;&#19988;&#20320;&#24819;&#26681;&#25454;&#35746;&#21333;&#29366;&#24577;&#29983;&#25104;&#19981;&#21516;&#30340;&#32467;&#26524;&#12290;&#20320;&#21487;&#20197;&#21019;&#24314;&#19968;&#20010;&#33258;&#23450;&#20041;&#30340;&#26041;&#27861;&#26469;&#23454;&#29616;&#36825;&#19968;&#28857;&#12290;<\/p>\n<pre><code class=\"language-php\">namespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\nuse DB;\n\nclass Order extends Model\n{\n    public function getStatusLabel()\n    {\n        return DB::raw('CASE \n                        WHEN status = \"pending\" THEN \"Pending\"\n                        WHEN status = \"processing\" THEN \"Processing\"\n                        WHEN status = \"completed\" THEN \"Completed\"\n                        ELSE \"Unknown\"\n                    END');\n    }\n}<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#20320;&#22312;&#25511;&#21046;&#22120;&#25110;&#20854;&#20182;&#22320;&#26041;&#35843;&#29992;&#36825;&#20010;&#26041;&#27861;&#65306;<\/p>\n<pre><code class=\"language-php\">$order = Order::find(1);\n$statusLabel = $order-&gt;getStatusLabel();\necho $statusLabel; \/\/ &#36755;&#20986;: Pending, Processing, Completed &#25110; Unknown<\/code><\/pre>\n<h3>&#31034;&#20363;2&#65306;&#20351;&#29992; <code>DB::raw<\/code> &#26041;&#27861;<\/h3>\n<p>&#22914;&#26524;&#20320;&#19981;&#24819;&#22312;&#27169;&#22411;&#20013;&#28155;&#21152;&#39069;&#22806;&#30340;&#26041;&#27861;&#65292;&#20063;&#21487;&#20197;&#30452;&#25509;&#22312;&#26597;&#35810;&#20013;&#20351;&#29992; <code>DB::raw<\/code> &#26041;&#27861;&#12290;<\/p>\n<pre><code class=\"language-php\">$order = Order::where('status', 'processing')-&gt;first();\n\nif ($order) {\n    echo $order-&gt;name . \" is processing.\"; \/\/ &#36755;&#20986;: John Doe is processing.\n} else {\n    echo \"No order found.\";\n}<\/code><\/pre>\n<h3>&#31034;&#20363;3&#65306;&#32467;&#21512;&#20854;&#20182;&#26465;&#20214;<\/h3>\n<p>&#20320;&#36824;&#21487;&#20197;&#22312; <code>CASE WHEN<\/code> &#35821;&#21477;&#20013;&#32467;&#21512;&#20854;&#20182;&#26465;&#20214;&#26469;&#22788;&#29702;&#26356;&#22797;&#26434;&#30340;&#24773;&#20917;&#12290;<\/p>\n<pre><code class=\"language-php\">$orders = Order::select(\n    'id',\n    'name',\n    DB::raw('CASE \n                WHEN status = \"pending\" THEN \"Pending\"\n                WHEN status = \"processing\" AND amount &gt; 100 THEN \"High Priority\"\n                WHEN status = \"completed\" THEN \"Completed\"\n                ELSE \"Unknown\"\n            END AS status_label')\n)-&gt;get();\n\nforeach ($orders as $order) {\n    echo $order-&gt;name . \" has a status of \" . $order-&gt;status_label . \".n\";\n}<\/code><\/pre>\n<p>&#36825;&#20123;&#31034;&#20363;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312; Laravel Eloquent &#20013;&#20351;&#29992; <code>CASE WHEN<\/code> &#35821;&#21477;&#26469;&#22788;&#29702;&#21508;&#31181;&#22797;&#26434;&#30340;&#26597;&#35810;&#38656;&#27714;&#12290;&#20320;&#21487;&#20197;&#26681;&#25454;&#20855;&#20307;&#30340;&#38656;&#27714;&#36873;&#25321;&#21512;&#36866;&#30340;&#26041;&#27861;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h3>&#27010;&#36848;<\/h3><p>&#22312;Laravel&#29983;&#24577;&#31995;&#32479;&#20013;&#30340;Web&#24212;&#29992;&#31243;&#24207;&#24320;&#21457;&#39046;&#22495;&#65292;Eloquent&#20316;&#20026;&#24378;&#22823;&#30340;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65288;ORM&#65289;&#24037;&#20855;&#65292;&#31616;&#21270;&#20102;&#19982;&#25968;&#25454;&#24211;&#30340;&#20132;&#20114;&#12290;&#24320;&#21457;&#32773;&#32463;&#24120;&#38754;&#20020;&#30340;&#19968;&#20010;&#24120;&#35265;&#38656;&#27714;&#26159;&#22312;&#25968;&#25454;&#24211;&#26597;&#35810;&#20013;&#23454;&#29616;&#26465;&#20214;&#36923;&#36753;&#12290;SQL<code>CASE WHEN<\/code>&#26500;&#36896;&#25552;&#20379;&#20102;&#22312;SQL&#26597;&#35810;&#20013;&#20351;&#29992;&#24378;&#22823;&#26465;&#20214;&#36923;&#36753;&#30340;&#26041;&#27861;&#12290;&#22312;&#36825;&#31687;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#35752;&#22914;&#20309;&#20351;&#29992;&#23427;&#12290;<code>CASE WHEN<\/code>&#22312;Laravel Eloquent&#20013;&#30340;&#22768;&#26126;&#35821;&#21477;&#12290;<\/p><h4>&#29702;&#35299;CASE WHEN<\/h4><p>SQL&#65288;Structured Query Language&#65289;&#26159;&#20851;&#31995;&#22411;&#25968;&#25454;&#24211;&#31649;&#29702;&#31995;&#32479;&#20013;&#26368;&#24120;&#29992;&#30340;&#32534;&#31243;&#35821;&#35328;&#65292;&#29992;&#20110;&#25191;&#34892;&#25968;&#25454;&#26597;&#35810;&#12289;&#25554;&#20837;&#12289;&#26356;&#26032;&#21644;&#21024;&#38500;&#31561;&#25805;&#20316;&#12290;<code>CASE WHEN<\/code>&#34920;&#36798;&#24335;&#31867;&#20284;&#20110;&#22823;&#22810;&#25968;&#32534;&#31243;&#35821;&#35328;&#20013;&#30340;IF-ELSE&#35821;&#21477;&#12290;&#23427;&#35780;&#20272;&#26465;&#20214;&#24182;&#26681;&#25454;&#31532;&#19968;&#20010;&#26465;&#20214;&#36820;&#22238;&#20540;&#12290;&#22914;&#26524;&#26410;&#21305;&#37197;&#20219;&#20309;&#26465;&#20214;&#65292;&#21017;&#21487;&#20197;&#20351;&#29992;ELSE&#23376;&#21477;&#26469;&#25351;&#23450;&#40664;&#35748;&#30340;&#36820;&#22238;&#20540;&#12290;<\/p><h3>SQL&#30340;&#22522;&#26412;&#29992;&#27861;&#12290;<\/h3><p>&#22522;&#26412;&#30340;&#35821;&#27861;&#32467;&#26500;&#26159;&#65306;<code>CASE WHEN<\/code>&#22312;&#21407;&#22987;&#30340;SQL&#35821;&#21477;&#22914;&#19979;&#65306;<\/p><pre><code>SELECT CASE\n    WHEN condition1 THEN result1\n    WHEN condition2 THEN result2\n    ...\n    ELSE default_result\nEND AS column_name\nFROM table_name;<\/code><\/pre><h3>&#20351;&#29992;<code>CASE WHEN<\/code>&#22312;Laravel&#30340;Eloquent ORM&#20013;&#12290;<\/h3><p>Laravel &#30340; Eloquent &#31616;&#21270;&#20102;&#25968;&#25454;&#24211;&#20132;&#20114;&#65292;&#20294;&#24182;&#27809;&#26377;&#20869;&#32622;&#30340;&#26041;&#27861;&#26469;&#22788;&#29702;&#22797;&#26434;&#30340;&#36923;&#36753;&#12290;<code>CASE WHEN<\/code>&#28982;&#32780;&#65292;&#20173;&#28982;&#21487;&#20197;&#36890;&#36807;&#21033;&#29992;&#21407;&#22987;&#34920;&#36798;&#26469;&#20351;&#29992;&#23427;&#12290;&#36825;&#37324;&#26377;&#19968;&#20010;&#31034;&#20363;&#65306;<\/p><pre><code>$users = User::selectRaw(\n  '*, CASE\n     WHEN age &lt; 18 THEN 'minor'\n     WHEN age BETWEEN 18 AND 65 THEN 'adult'\n     ELSE 'senior' END AS age_group'\n)-&gt;get();\n<\/code><\/pre><p>&#35813;&#29255;&#27573;&#28155;&#21152;&#20102;&#19968;&#20010;&#34893;&#29983;&#21015;&#12290;<code>age_group<\/code>&#22522;&#20110;&#36873;&#23450;&#32467;&#26524;&#30340;<code>age<\/code>&#29992;&#25143;&#32676;&#30340;&#33539;&#22260;&#12290;<\/p><h3>&#26465;&#20214;&#32858;&#21512;<\/h3><p>&#20551;&#35774;&#20320;&#24819;&#25353;&#26465;&#20214;&#32479;&#35745;&#35760;&#24405;&#25968;&#12290;&#20320;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<code>CASE WHEN<\/code>&#20351;&#29992;&#32858;&#21512;&#20989;&#25968;&#65306;<\/p><pre><code>$orderStats = Order::selectRaw(\n    'SUM(CASE WHEN status = 'processed' THEN 1 ELSE 0 END) AS processed_orders,\n     SUM(CASE WHEN status = 'shipped' THEN 1 ELSE 0 END) AS shipped_orders'\n)-&gt;first();\n<\/code><\/pre><p>&#35813;&#26597;&#35810;&#36820;&#22238;&#24050;&#22788;&#29702;&#21644;&#24050;&#21457;&#36135;&#30340;&#35746;&#21333;&#25968;&#37327;&#12290;<\/p><h3>&#20351;&#29992;CASE WHEN&#36827;&#34892;&#25490;&#24207;<\/h3><p>&#24744;&#36824;&#21487;&#20197;&#25353;&#26465;&#20214;&#23545;&#32467;&#26524;&#36827;&#34892;&#25490;&#24207;&#65306;<\/p><pre><code>$products = Product::orderByRaw(\n    'CASE\n        WHEN category = 'electronics' THEN 1\n        WHEN category = 'books' THEN 2\n        ELSE 3\n    END'\n)-&gt;get();\n<\/code><\/pre><p>&#22909;&#30340;&#65292;&#29702;&#35299;&#20102;&#12290;&#35746;&#21333;&#20250;&#20808;&#25353;&#29031;&#30005;&#23376;&#20135;&#21697;&#12289;&#28982;&#21518;&#20070;&#31821;&#65292;&#26368;&#21518;&#26159;&#20854;&#20182;&#25152;&#26377;&#31867;&#21035;&#36827;&#34892;&#22788;&#29702;&#12290;<\/p><h3>&#21160;&#24577;&#30340;CASE WHEN<\/h3><p>&#22914;&#26524;&#35201;&#35780;&#20272;&#30340;&#26465;&#20214;&#26159;&#21160;&#24577;&#30340;&#65292;&#35813;&#24590;&#20040;&#21150;&#21602;&#65311;&#36825;&#37324;&#26377;&#19968;&#20123;&#22788;&#29702;&#26041;&#27861;&#65306;<\/p><pre><code>$status = 'active';\n$users = User::selectRaw(\n  '*, CASE\n      WHEN last_login_at IS NULL THEN 'never_logged_in'\n      WHEN last_login_at &gt;= ? THEN 'recently_logged_in'\n      ELSE 'inactive' END AS login_status',\n  [$status]\n)-&gt;get();\n<\/code><\/pre><p>&#23545;&#19981;&#36215;&#65292;&#25105;&#19981;&#26126;&#30333;&#20320;&#24819;&#35828;&#20160;&#20040;&#12290;<code>?<\/code>&#21344;&#20301;&#31526;&#29992;&#20110;&#23433;&#20840;&#22320;&#32465;&#23450;&#21160;&#24577;&#20540;&#12290;<\/p><h3>&#22312;&#36830;&#25509;&#25805;&#20316;&#20013;&#20351;&#29992;&#22797;&#26434;&#30340;CASE WHEN&#26465;&#20214;&#12290;<\/h3><p>&#22312;&#38656;&#35201;&#26465;&#20214;&#36923;&#36753;&#30340;&#24773;&#20917;&#19979;&#65292;&#24403;&#20320;&#36830;&#25509;&#34920;&#26102;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#26465;&#20214;&#35821;&#21477;&#12290;<code>CASE WHEN<\/code>&#25105;&#20204;&#20173;&#28982;&#26159;&#22909;&#26379;&#21451;&#12290;<\/p><pre><code>$orders = Order::selectRaw(\n  'orders.*, users.name,\n   CASE\n      WHEN orders.status = 'delivered' AND users.premium = 1 THEN 'priority'\n      ELSE 'standard'\n   END AS delivery_type'\n)-&gt;join('users', 'orders.user_id', '=', 'users.id')-&gt;get();\n<\/code><\/pre><h3>&#24615;&#33021;&#32771;&#34385;&#22240;&#32032;<\/h3><p>&#22312;&#8230;<code>CASE WHEN<\/code>&#34920;&#36798;&#24335;&#20855;&#26377;&#24378;&#22823;&#30340;&#33021;&#21147;&#65292;&#23427;&#20204;&#21487;&#20197;&#24433;&#21709;&#26597;&#35810;&#24615;&#33021;&#65292;&#29305;&#21035;&#26159;&#22312;&#22788;&#29702;&#22823;&#22411;&#25968;&#25454;&#38598;&#26102;&#23588;&#20026;&#22914;&#27492;&#12290;&#22240;&#27492;&#65292;&#22312;&#21487;&#33021;&#30340;&#24773;&#20917;&#19979;&#65292;&#24179;&#34913;&#20854;&#20351;&#29992;&#19982;&#24212;&#29992;&#31243;&#24207;&#30340;&#38656;&#27714;&#65292;&#20197;&#21450;&#23613;&#21487;&#33021;&#21033;&#29992;&#25968;&#25454;&#24211;&#32034;&#24341;&#21644;&#32467;&#26524;&#32531;&#23384;&#26469;&#20943;&#36731;&#20219;&#20309;&#24615;&#33021;&#24433;&#21709;&#26159;&#38750;&#24120;&#37325;&#35201;&#30340;&#12290;<\/p><h3>&#32467;&#35770;&#12290;<\/h3><p>&#23613;&#31649;&#24182;&#38750;Laravel Eloquent&#30340;&#22266;&#26377;&#32452;&#25104;&#37096;&#20998;&#65292;&#20294;<code>CASE WHEN<\/code>&#38472;&#36848;&#21487;&#20197;&#22312;Eloquent&#30340;&#26694;&#26550;&#20869;&#26377;&#25928;&#22320;&#29992;&#20110;&#28155;&#21152;&#26465;&#20214;&#36923;&#36753;&#21040;&#25968;&#25454;&#24211;&#26597;&#35810;&#12290;&#24076;&#26395;&#36825;&#20010;&#25945;&#31243;&#33021;&#22815;&#35753;&#20320;&#29702;&#35299;&#24182;&#20351;&#29992;&#23427;&#22312;Laravel&#24212;&#29992;&#20013;&#30340;&#26377;&#25928;&#24615;&#12290;&#35760;&#20303;&#35201;&#27979;&#35797;&#21644;&#20998;&#26512;&#20320;&#30340;&#26597;&#35810;&#20197;&#30830;&#20445;&#23427;&#20204;&#39640;&#25928;&#19988;&#21487;&#25193;&#23637;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel Eloquent &#20013;&#65292;<code>CASE WHEN<\/code> &#26159;&#19968;&#20010;&#38750;&#24120;&#26377;&#29992;&#30340; SQL &#35821;&#21477;&#65292;&#23427;&#21487;&#20197;&#24110;&#21161;&#25105;&#20204;&#26681;&#25454;&#26465;&#20214;&#36873;&#25321;&#19981;&#21516;&#30340;&#34892;&#12290;&#19979;&#38754;&#25105;&#23558;&#21521;&#24744;&#23637;&#31034;&#22914;&#20309;&#22312; Laravel Eloquent &#20013;&#20351;&#29992; <code>CASE WHEN<\/code>&#12290;<\/p>\n<h3>&#31034;&#20363;&#65306;<\/h3>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#27169;&#22411; <code>User<\/code>&#65292;&#20854;&#20013;&#26377;&#19968;&#20010;&#21517;&#20026; <code>email<\/code> &#30340;&#23383;&#27573;&#65292;&#24182;&#19988;&#25105;&#20204;&#38656;&#35201;&#26681;&#25454;&#36825;&#20010;&#23383;&#27573;&#30340;&#20540;&#26469;&#26174;&#31034;&#19981;&#21516;&#30340;&#28040;&#24687;&#12290;<\/p>\n<pre><code class=\"language-php\">use IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n    public function email()\n    {\n        return $this-&gt;email;\n    }\n\n    \/**\n     * Display a listing of the resource.\n     *\n     * @return IlluminateHttpResponse\n     *\/\n    public function index()\n    {\n        \/\/ &#26816;&#26597;&#30005;&#23376;&#37038;&#20214;&#26159;&#21542;&#20026;&#31354;\n        if (empty($this-&gt;email)) {\n            return view('users.index', ['message' =&gt; '&#35831;&#22635;&#20889;&#24744;&#30340;&#30005;&#23376;&#37038;&#20214;&#22320;&#22336;&#12290;']);\n        }\n\n        \/\/ &#26681;&#25454;&#30005;&#23376;&#37038;&#20214;&#30340;&#20540;&#26174;&#31034;&#19981;&#21516;&#30340;&#28040;&#24687;\n        switch ($this-&gt;email) {\n            case 'example@example.com':\n                return view('users.index', ['message' =&gt; '&#27426;&#36814;&#24744;&#65292;' . $this-&gt;email]);\n            default:\n                return view('users.index', ['message' =&gt; '&#26410;&#25214;&#21040;&#35813;&#29992;&#25143;&#12290;']);\n        }\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#26816;&#26597; <code>$this-&gt;email<\/code> &#26159;&#21542;&#20026;&#31354;&#12290;&#22914;&#26524;&#20026;&#31354;&#65292;&#21017;&#36820;&#22238;&#19968;&#20010;&#35686;&#21578;&#28040;&#24687;&#65292;&#35201;&#27714;&#29992;&#25143;&#36755;&#20837;&#30005;&#23376;&#37038;&#20214;&#22320;&#22336;&#12290;&#21542;&#21017;&#65292;&#25105;&#20204;&#36890;&#36807; <code>switch<\/code> &#35821;&#21477;&#26681;&#25454;&#30005;&#23376;&#37038;&#20214;&#30340;&#20540;&#26174;&#31034;&#19981;&#21516;&#30340;&#28040;&#24687;&#12290;<\/p>\n<h3>&#27880;&#24847;&#20107;&#39033;<\/h3>\n<ul>\n<li>&#22312; Laravel &#20013;&#65292;&#20320;&#21487;&#20197;&#30452;&#25509;&#22312;&#26041;&#27861;&#20013;&#35843;&#29992; <code>case<\/code> &#35821;&#21477;&#65292;&#26080;&#38656;&#21333;&#29420;&#23450;&#20041;&#21464;&#37327;&#12290;<\/li>\n<li><code>case<\/code> &#35821;&#21477;&#20013;&#30340;&#26465;&#20214;&#21487;&#20197;&#26159;&#23383;&#31526;&#20018;&#65288;&#22914; <code>'example@example.com'<\/code>) &#25110;&#24067;&#23572;&#20540;&#65288;&#22914; <code>true<\/code>&#65289;&#12290;<\/li>\n<li>&#22914;&#26524;&#26465;&#20214;&#28385;&#36275;&#22810;&#20010;&#24773;&#20917;&#65292;&#21487;&#20197;&#29992;&#36887;&#21495;&#20998;&#38548;&#22810;&#20010; <code>case<\/code> &#35821;&#21477;&#12290;<\/li>\n<li>&#22914;&#26524;&#27809;&#26377;&#21305;&#37197;&#30340;&#24773;&#20917;&#65292;&#26368;&#21518;&#19968;&#20010; <code>default<\/code> &#20250;&#35302;&#21457;&#12290;<\/li>\n<li><code>case<\/code> &#35821;&#21477;&#21518;&#38754;&#38656;&#35201;&#36319;&#19968;&#20010; <code>break;<\/code> &#35821;&#21477;&#65292;&#20197;&#20415;&#36339;&#20986;&#24490;&#29615;&#12290;<\/li>\n<li>&#21487;&#20197;&#20351;&#29992; <code>case<\/code> &#35821;&#21477;&#22788;&#29702;&#26356;&#22797;&#26434;&#30340;&#36923;&#36753;&#21644;&#25968;&#25454;&#32467;&#26500;&#65292;&#20363;&#22914;&#20851;&#32852;&#34920;&#26597;&#35810;&#31561;&#12290;<\/li>\n<\/ul>\n<p>&#24076;&#26395;&#36825;&#33021;&#24110;&#21161;&#24744;&#26356;&#22909;&#22320;&#29702;&#35299; Laravel Eloquent &#20013;&#30340; <code>CASE WHEN<\/code>&#12290;&#22914;&#26524;&#24744;&#26377;&#20219;&#20309;&#30097;&#38382;&#65292;&#35831;&#38543;&#26102;&#25552;&#38382;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312; Laravel Eloquent &#20013;&#20351;&#29992; CASE WHEN &#35821;&#21477;&#26469;&#22788;&#29702;&#22797;&#26434;&#30340;&#038;#26465..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-999","my1js","type-my1js","status-publish","hentry","my1js2nav-laravel"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=999"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=999"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=999"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}