{"id":801,"date":"2025-06-12T00:03:08","date_gmt":"2025-06-11T16:03:08","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/801.html"},"modified":"2025-06-12T00:03:08","modified_gmt":"2025-06-11T16:03:08","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8laravel%e4%b8%ad%e6%8e%92%e5%ba%8f%e4%b8%ad%e9%97%b4%e4%bb%b6","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/801.html","title":{"rendered":"\u5982\u4f55\u5728Laravel\u4e2d\u6392\u5e8f\u4e2d\u95f4\u4ef6"},"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 &#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#21019;&#24314;&#21644;&#27880;&#20876;&#33258;&#23450;&#20041;&#30340;&#20013;&#38388;&#20214;&#26469;&#23454;&#29616;&#25490;&#24207;&#21151;&#33021;&#12290;&#20197;&#19979;&#26159;&#19968;&#20010;&#35814;&#32454;&#30340;&#27493;&#39588;&#25351;&#21335;&#65306;<\/p>\n<h3>1. &#21019;&#24314;&#20013;&#38388;&#20214;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#31867;&#12290;&#20320;&#21487;&#20197;&#20351;&#29992; <code>make:middleware<\/code> &#21629;&#20196;&#26469;&#29983;&#25104;&#36825;&#20010;&#31867;&#12290;<\/p>\n<pre><code class=\"language-bash\">php artisan make:middleware SortMiddleware<\/code><\/pre>\n<h3>2. &#32534;&#36753;&#20013;&#38388;&#20214;&#25991;&#20214;<\/h3>\n<p>&#25171;&#24320;&#29983;&#25104;&#30340;&#20013;&#38388;&#20214;&#25991;&#20214;&#65288;&#36890;&#24120;&#26159; <code>app\/Http\/Middleware\/SortMiddleware.php<\/code>&#65289;&#65292;&#24182;&#28155;&#21152;&#25490;&#24207;&#36923;&#36753;&#12290;<\/p>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesRequest;\n\nclass SortMiddleware\n{\n    public function handle($request, Closure $next)\n    {\n        \/\/ &#33719;&#21462;&#35831;&#27714;&#20013;&#30340;&#25490;&#24207;&#21442;&#25968;\n        $sortParam = Request::input('sort', 'default');\n\n        \/\/ &#26681;&#25454;&#25490;&#24207;&#21442;&#25968;&#36827;&#34892;&#25490;&#24207;\n        if ($sortParam === 'asc') {\n            $query-&gt;orderBy('column_name', 'asc');\n        } elseif ($sortParam === 'desc') {\n            $query-&gt;orderBy('column_name', 'desc');\n        }\n\n        return $next($request);\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#21517;&#20026; <code>column_name<\/code> &#30340;&#21015;&#65292;&#24182;&#19988;&#20320;&#24076;&#26395;&#26681;&#25454;&#29992;&#25143;&#25552;&#20379;&#30340;&#25490;&#24207;&#21442;&#25968;&#65288;&#20363;&#22914; <code>asc<\/code> &#25110; <code>desc<\/code>&#65289;&#23545;&#25968;&#25454;&#36827;&#34892;&#25490;&#24207;&#12290;<\/p>\n<h3>3. &#27880;&#20876;&#20013;&#38388;&#20214;<\/h3>\n<p>&#25509;&#19979;&#26469;&#65292;&#20320;&#38656;&#35201;&#23558;&#36825;&#20010;&#20013;&#38388;&#20214;&#27880;&#20876;&#21040;&#36335;&#30001;&#20013;&#12290;&#20320;&#21487;&#20197;&#22312; <code>routes\/web.php<\/code> &#25991;&#20214;&#20013;&#25214;&#21040;&#36335;&#30001;&#32452;&#65292;&#28982;&#21518;&#22312;&#20854;&#20013;&#27880;&#20876;&#20013;&#38388;&#20214;&#12290;<\/p>\n<pre><code class=\"language-php\">use AppHttpMiddlewareSortMiddleware;\n\nRoute::group(['prefix' =&gt; 'api'], function () {\n    Route::get('\/data', function (Request $request) {\n        $query = DB::table('your_table_name')-&gt;select('*');\n\n        \/\/ &#20351;&#29992;&#20013;&#38388;&#20214;&#22788;&#29702;&#25490;&#24207;\n        $query = $query-&gt;through(SortMiddleware::class);\n\n        return $query-&gt;get();\n    });\n});<\/code><\/pre>\n<h3>4. &#27979;&#35797;&#25490;&#24207;<\/h3>\n<p>&#29616;&#22312;&#65292;&#24403;&#20320;&#35775;&#38382; <code>\/api\/data<\/code> &#36335;&#30001;&#26102;&#65292;&#20320;&#24212;&#35813;&#33021;&#22815;&#30475;&#21040;&#26681;&#25454; <code>sort<\/code> &#21442;&#25968;&#25490;&#24207;&#21518;&#30340;&#32467;&#26524;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312; Laravel &#20013;&#21019;&#24314;&#12289;&#27880;&#20876;&#21644;&#20351;&#29992;&#25490;&#24207;&#20013;&#38388;&#20214;&#12290;<\/p>\n<h4>1. &#21019;&#24314;&#20013;&#38388;&#20214;<\/h4>\n<pre><code class=\"language-bash\">php artisan make:middleware SortMiddleware<\/code><\/pre>\n<h4>2. &#32534;&#36753;&#20013;&#38388;&#20214;&#25991;&#20214;<\/h4>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesRequest;\n\nclass SortMiddleware\n{\n    public function handle($request, Closure $next)\n    {\n        \/\/ &#33719;&#21462;&#35831;&#27714;&#20013;&#30340;&#25490;&#24207;&#21442;&#25968;\n        $sortParam = Request::input('sort', 'default');\n\n        \/\/ &#26681;&#25454;&#25490;&#24207;&#21442;&#25968;&#36827;&#34892;&#25490;&#24207;\n        if ($sortParam === 'asc') {\n            $query-&gt;orderBy('column_name', 'asc');\n        } elseif ($sortParam === 'desc') {\n            $query-&gt;orderBy('column_name', 'desc');\n        }\n\n        return $next($request);\n    }\n}<\/code><\/pre>\n<h4>3. &#27880;&#20876;&#20013;&#38388;&#20214;<\/h4>\n<pre><code class=\"language-php\">use AppHttpMiddlewareSortMiddleware;\n\nRoute::group(['prefix' =&gt; 'api'], function () {\n    Route::get('\/data', function (Request $request) {\n        $query = DB::table('your_table_name')-&gt;select('*');\n\n        \/\/ &#20351;&#29992;&#20013;&#38388;&#20214;&#22788;&#29702;&#25490;&#24207;\n        $query = $query-&gt;through(SortMiddleware::class);\n\n        return $query-&gt;get();\n    });\n});<\/code><\/pre>\n<h4>4. &#27979;&#35797;&#25490;&#24207;<\/h4>\n<pre><code class=\"language-bash\">curl -X GET http:\/\/localhost\/api\/data?sort=asc<\/code><\/pre>\n<p>&#36825;&#26679;&#65292;&#20320;&#23601;&#21487;&#20197;&#22312; Laravel &#20013;&#36731;&#26494;&#22320;&#23454;&#29616;&#25490;&#24207;&#21151;&#33021;&#20102;&#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><h2>&#20171;&#32461;<\/h2><p>&#20013;&#38388;&#20214;&#22312;Laravel&#20013;&#20805;&#24403;&#36807;&#28388;&#22120;&#65292;&#22788;&#29702;&#24212;&#29992;&#31243;&#24207;&#30340;HTTP&#35831;&#27714;&#12290;&#23427;&#21487;&#20197;&#22312;&#35831;&#27714;&#34987;&#29305;&#23450;&#30340;&#36335;&#30001;\/&#25511;&#21046;&#22120;&#22788;&#29702;&#20043;&#21069;&#25191;&#34892;&#21508;&#31181;&#20219;&#21153;&#65292;&#20363;&#22914;&#36523;&#20221;&#39564;&#35777;&#12289;&#26085;&#24535;&#35760;&#24405;&#21644;&#32531;&#23384;&#12290;&#28982;&#32780;&#65292;&#38543;&#30528;&#24212;&#29992;&#31243;&#24207;&#30340;&#22686;&#38271;&#65292;&#25191;&#34892;&#39034;&#24207;&#20013;&#30340;&#20013;&#38388;&#20214;&#21464;&#24471;&#36234;&#26469;&#36234;&#37325;&#35201;&#12290;&#22312;&#36825;&#31687;&#25945;&#31243;&#20013;&#65292;&#24744;&#23558;&#23398;&#20064;&#22914;&#20309;&#31649;&#29702;Laravel&#24212;&#29992;&#20013;&#30340;&#20013;&#38388;&#20214;&#20248;&#20808;&#32423;&#30340;&#26041;&#27861;&#12290;<\/p><h2>&#29702;&#35299;&#20013;&#38388;&#20214;&#20248;&#20808;&#32423;<\/h2><p>&#22312;Laravel&#30340;&#20013;&#38388;&#20214;&#37096;&#20998;&#65292;&#23427;&#20204;&#26082;&#21487;&#20197;&#20840;&#23616;&#36816;&#34892;&#20063;&#21487;&#20197;&#38024;&#23545;&#29305;&#23450;&#30340;&#36335;&#30001;&#36827;&#34892;&#20998;&#37197;&#12290;&#20840;&#23616;&#30340;&#20013;&#38388;&#20214;&#20250;&#22312;&#24212;&#29992;&#20013;&#30340;&#27599;&#20010;HTTP&#35831;&#27714;&#19979;&#37117;&#25191;&#34892;&#65292;&#32780;&#29305;&#23450;&#20110;&#36335;&#30001;&#30340;&#20013;&#38388;&#20214;&#21017;&#21482;&#22312;&#26576;&#20123;&#36335;&#30001;&#19978;&#25191;&#34892;&#12290;&#22522;&#20110;&#36825;&#19968;&#28857;&#65292;&#25105;&#20204;&#38656;&#35201;&#30830;&#20445;&#20013;&#38388;&#20214;&#25353;&#29031;&#27491;&#30830;&#30340;&#39034;&#24207;&#25191;&#34892;&#65292;&#20197;&#20445;&#25345;&#36923;&#36753;&#27969;&#31243;&#21644;&#25928;&#29575;&#12290;<\/p><h2>&#20840;&#29699;&#20013;&#38388;&#20214;&#25490;&#24207;<\/h2><p>&#20026;&#20102;&#35843;&#25972;&#20840;&#29699;&#20013;&#38388;&#20214;&#30340;&#20248;&#20808;&#32423;&#65292;&#25105;&#20204;&#19982;&#20043;&#21512;&#20316;&#12290;<code>$middlewarePriority<\/code>&#25968;&#32452;&#22312;<code>Kernel.php<\/code>&#25991;&#20214;&#20301;&#20110;<code>app\/Http<\/code>&#30446;&#24405;&#12290;&#22312;&#36825;&#19968;&#25968;&#32452;&#20013;&#30340;&#39034;&#24207;&#20915;&#23450;&#20102;&#25191;&#34892;&#24207;&#21015;&#12290;&#20363;&#22914;&#65306;<\/p><pre><code>class Kernel extends HttpKernel {\n    protected $middlewarePriority = [\n        AppHttpMiddlewareStartSession::class,\n        AppHttpMiddlewareAuthenticate::class,\n        AppHttpMiddlewareLogRequests::class,\n        \/\/ Other middleware\n    ];\n}\n<\/code><\/pre><p>&#24403;&#20320;&#23558;&#20013;&#38388;&#20214;&#31867;&#28155;&#21152;&#21040;&#36825;&#20010;&#25968;&#32452;&#26102;&#65292;&#20320;&#23450;&#20041;&#20102;&#24212;&#29992;&#20840;&#23616;&#20013;&#38388;&#20214;&#26632;&#30340;&#25191;&#34892;&#39034;&#24207;&#12290;<\/p><h2>&#20998;&#25315;&#19987;&#29992;&#20013;&#38388;&#20214;<\/h2><p>&#36335;&#30001;&#29305;&#23450;&#30340;&#20013;&#38388;&#20214;&#20801;&#35768;&#23545;&#21333;&#20010;&#36335;&#30001;&#25110;&#19968;&#32452;&#36335;&#30001;&#36827;&#34892;&#26356;&#31934;&#32454;&#30340;&#25511;&#21046;&#12290;&#20197;&#19979;&#26159;&#20026;&#36335;&#30001;&#20998;&#37197;&#20013;&#38388;&#20214;&#30340;&#22522;&#26412;&#26041;&#27861;&#65306;<\/p><pre><code>Route::get('\/profile', 'UserProfileController@show')\n    -&gt;middleware('auth', 'log');<\/code><\/pre><p>&#22312;&#36825;&#19968;&#20363;&#23376;&#37324;&#65292;<code>'auth'<\/code>&#20182;&#20250;&#20808;&#36305;&#12290;<code>'log'<\/code>&#22914;&#26524;&#38656;&#35201;&#25913;&#21464;&#39034;&#24207;&#65292;&#20320;&#21487;&#20197;&#31616;&#21333;&#22320;&#20132;&#25442;&#20182;&#20204;&#30340;&#20301;&#32622;&#65306;<\/p><pre><code>Route::get('\/profile', 'UserProfileController@show')\n    -&gt;middleware('log', 'auth');<\/code><\/pre><p>&#20294;&#26159;&#65292;&#22312;&#38656;&#35201;&#26356;&#32454;&#31890;&#24230;&#25511;&#21046;&#20013;&#38388;&#20214;&#39034;&#24207;&#30340;&#22797;&#26434;&#22330;&#26223;&#20013;&#21602;&#65311;Laravel &#25552;&#20379;&#20102;&#30456;&#24212;&#30340;&#21151;&#33021;&#65292;&#35814;&#35265;&#19979;&#25991;&#12290;<\/p><h2>&#20351;&#29992;&#32676;&#32452;&#26469;&#20998;&#31867;&#20013;&#38388;&#20214;<\/h2><p>laravel&#30340;&#20998;&#32452;&#21151;&#33021;&#20801;&#35768;&#24744;&#23545;&#20013;&#38388;&#20214;&#36827;&#34892;&#20998;&#31867;&#65292;&#20197;&#31616;&#21270;&#31649;&#29702;&#12290;&#35201;&#21019;&#24314;&#19968;&#20010;&#20013;&#38388;&#20214;&#32452;&#65292;&#35831;&#26356;&#26032;&#12290;<code>$middlewareGroups<\/code>&#25968;&#32452;&#22312;&#12290;<code>Kernel.php<\/code>&#24050;&#32463;&#25910;&#21040;&#28040;&#24687;&#65292;&#27491;&#22312;&#20026;&#24744;&#32763;&#35793;&#12290;<\/p><pre><code>protected $middlewareGroups = [\n    'web' =&gt; [\n        \/\/ existing web middlewares...\n    ],\n\n    'api' =&gt; [\n        \/\/ existing api middlewares...\n    ],\n\n    'customGroup' =&gt; [\n        AppHttpMiddlewareFirstMiddleware::class,\n        AppHttpMiddlewareSecondMiddleware::class,\n    ],\n];\n<\/code><\/pre><p>&#20320;&#21487;&#20197;&#23558;&#20854;&#24212;&#29992;&#20110;&#36335;&#30001;&#65306;<\/p><pre><code>Route::middleware('customGroup')-&gt;get('\/user', 'UserController@index');<\/code><\/pre><p>&#20351;&#29992;&#20013;&#38388;&#20214;&#32452;&#26102;&#65292;&#24403;&#19982;&#21487;&#20197;&#22312;&#27599;&#20010;&#32452;&#20869;&#25351;&#23450;&#20013;&#38388;&#20214;&#39034;&#24207;&#30340;&#33021;&#21147;&#32467;&#21512;&#20351;&#29992;&#26102;&#29305;&#21035;&#24378;&#22823;&#12290;Laravel&#23558;&#22312;&#25351;&#23450;&#25968;&#32452;&#39034;&#24207;&#20013;&#22788;&#29702;&#32452;&#30340;&#20013;&#38388;&#20214;&#12290;<\/p><h2>&#39640;&#32423;&#25490;&#24207;&#65292;&#20351;&#29992;&#20013;&#38388;&#20214;&#21442;&#25968;<\/h2><p>&#26377;&#26102;&#20505;&#65292;&#20320;&#38656;&#35201;&#20351;&#29992;&#24102;&#26377;&#21442;&#25968;&#30340;&#20013;&#38388;&#20214;&#26469;&#22788;&#29702;&#25490;&#24207;&#36807;&#31243;&#20013;&#30340;&#39069;&#22806;&#23618;&#12290;&#35753;&#25105;&#20204;&#26469;&#30475;&#19968;&#20010;&#24102;&#26377;&#21442;&#25968;&#30340;&#20013;&#38388;&#20214;&#31034;&#20363;&#65306;<\/p><pre><code>Route::put('\/post\/{id}', 'PostController@update')\n    -&gt;middleware('role:editor');<\/code><\/pre><p>&#22914;&#26524;&#22312;&#19968;&#20010;&#36335;&#30001;&#19978;&#26377;&#22810;&#37325;&#21442;&#25968;&#21270;&#30340;&#20013;&#38388;&#20214;&#65292;&#37027;&#20040;&#22312;&#20013;&#38388;&#20214;&#26041;&#27861;&#20869;&#37096;&#30340;&#39034;&#24207;&#23601;&#24456;&#37325;&#35201;&#20102;&#12290;&#22312;&#36825;&#20010;&#36807;&#31243;&#20013;&#65292;&#20320;&#21487;&#20197;&#36827;&#34892;&#26816;&#26597;&#24182;&#20915;&#23450;&#26159;&#21542;&#32487;&#32493;&#25191;&#34892;&#19979;&#19968;&#20010;&#20013;&#38388;&#20214;&#12290;<\/p><pre><code>public function handle($request, Closure $next, $role)\n{\n    if (auth()-&gt;check() &amp;&amp; auth()-&gt;user()-&gt;hasRole($role)) {\n        return $next($request);\n    }\n\n    \/\/ Handle the unauthorized case...\n}\n<\/code><\/pre><h2>&#39069;&#22806;&#30340;&#25552;&#31034;&#21644;&#32771;&#34385;&#22240;&#32032;<\/h2><p>&#22312;&#22797;&#26434;&#30340;&#22330;&#26223;&#19979;&#65292;&#22914;&#26524;&#28155;&#21152;&#25110;&#20462;&#25913;&#20102;&#21151;&#33021;&#65292;&#21487;&#33021;&#38656;&#35201;&#37325;&#26032;&#35780;&#20272;&#20013;&#38388;&#20214;&#30340;&#20248;&#20808;&#32423;&#65292;&#20197;&#30830;&#20445;&#23427;&#20173;&#28982;&#33021;&#22815;&#25353;&#39044;&#26399;&#24037;&#20316;&#12290;<\/p><p>&#35760;&#20303;HTTP&#20013;&#38388;&#20214;&#21644;&#36335;&#30001;&#20013;&#38388;&#20214;&#30340;&#21306;&#21035;&#65292;&#24182;&#26681;&#25454;&#24212;&#29992;&#31243;&#24207;&#30340;&#38656;&#27714;&#36866;&#24403;&#22320;&#20351;&#29992;&#23427;&#20204;&#12290;<\/p><p>&#20013;&#38388;&#20214;&#35746;&#21333;&#23545;&#24615;&#33021;&#26377;&#26174;&#33879;&#24433;&#21709;&#65307;&#22312;&#38169;&#35823;&#30340;&#39034;&#24207;&#25191;&#34892;&#19981;&#24517;&#35201;&#30340;&#26816;&#26597;&#25110;&#25805;&#20316;&#21487;&#33021;&#23548;&#33268;&#36991;&#20813;&#26080;&#29992;&#30340;&#24320;&#38144;&#12290;<\/p><p>&#27979;&#35797;&#20013;&#38388;&#20214;&#30340;&#39034;&#24207;&#21516;&#26679;&#37325;&#35201;&#65292;&#23601;&#20687;&#35774;&#32622;&#23427;&#20204;&#19968;&#26679;&mdash;&mdash;&#30830;&#20445;&#22987;&#32456;&#32534;&#20889;&#39564;&#35777;&#20013;&#38388;&#20214;&#25191;&#34892;&#39034;&#24207;&#30340;&#27979;&#35797;&#12290;<\/p><p>&#20998;&#25315;&#20013;&#38388;&#20214;&#26377;&#25928;&#22320;&#25552;&#39640;&#20102;&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#30340;&#21151;&#33021;&#24615;&#21644;&#21487;&#38752;&#24615;&#12290;&#26377;&#20102;&#36825;&#20123;&#35828;&#26126;&#21644;&#31034;&#20363;&#65292;&#29616;&#22312;&#24744;&#24050;&#32463;&#20934;&#22791;&#22909;&#26377;&#25928;&#22320;&#20998;&#25315;&#20013;&#38388;&#20214;&#24182;&#26500;&#24314;&#19968;&#20010;&#26356;&#24378;&#22823;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#27491;&#30830;&#31649;&#29702;&#20013;&#38388;&#20214;&#30340;&#20248;&#20808;&#32423;&#21644;&#25191;&#34892;&#39034;&#24207;&#23545;&#20110;&#30830;&#20445;Laravel&#24212;&#29992;&#31243;&#24207;&#30340;&#24179;&#31283;&#36816;&#34892;&#33267;&#20851;&#37325;&#35201;&#12290;&#36890;&#36807;&#35843;&#25972;&#20840;&#23616;&#37197;&#32622;&#65292;&#20320;&#21487;&#20197;&#20248;&#21270;&#36825;&#20010;&#36807;&#31243;&#12290;<code>$middlewarePriority<\/code>&#25968;&#32452;&#12289;&#20351;&#29992;&#22522;&#20110;&#36335;&#30001;&#30340;&#20013;&#38388;&#20214;&#65292;&#21033;&#29992;&#20998;&#32452;&#24182;&#29702;&#35299;&#21442;&#25968;&#21270;&#20013;&#38388;&#20214;&#65292;&#20320;&#21487;&#20197;&#21019;&#24314;&#19968;&#20010;&#39044;&#27979;&#24615;&#19988;&#24178;&#20928;&#30340;&#35831;&#27714;&#22788;&#29702;&#36807;&#31243;&#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 &#20013;&#25490;&#24207;&#20013;&#38388;&#20214;&#26102;&#65292;&#25105;&#20204;&#36890;&#24120;&#20250;&#20351;&#29992; <code>Middleware::class<\/code> &#26469;&#23454;&#29616;&#36825;&#20010;&#21151;&#33021;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#22312; Laravel &#20013;&#25490;&#24207;&#20013;&#38388;&#20214;&#30340;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#65306;\n&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#26469;&#22788;&#29702;&#25490;&#24207;&#38656;&#27714;&#12290;&#20363;&#22914;&#65292;&#25105;&#20204;&#21487;&#20197;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026; <code>SortMiddleware.php<\/code> &#30340;&#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#20195;&#30721;&#65306;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppProviders;\n\nuse IlluminateSupportFacadesRoute;\nuse IlluminateFoundationSupportProviders applyMiddlewareServiceProvider as ServiceProvider;\n\nclass SortMiddlewareServiceProvider extends ServiceProvider\n{\n    public function boot()\n    {\n        Route::group(['middleware' =&gt; ['sort']], function () {\n            \/\/ &#22312;&#36825;&#37324;&#28155;&#21152;&#20320;&#30340;&#36335;&#30001;&#35268;&#21017;\n        });\n    }\n\n    public function register()\n    {\n        \/\/\n    }\n}<\/code><\/pre>\n<ol start=\"2\">\n<li>&#28155;&#21152;&#25490;&#24207;&#36923;&#36753;&#21040;&#20013;&#38388;&#20214;&#65306;\n&#25509;&#19979;&#26469;&#65292;&#25105;&#20204;&#38656;&#35201;&#22312; <code>SortMiddleware.php<\/code> &#25991;&#20214;&#20013;&#30340; <code>boot()<\/code> &#26041;&#27861;&#20013;&#28155;&#21152;&#25105;&#20204;&#30340;&#25490;&#24207;&#36923;&#36753;&#12290;&#25105;&#20204;&#23558;&#36890;&#36807; <code>Route::group()<\/code> &#20989;&#25968;&#26469;&#32452;&#32455;&#25105;&#20204;&#30340;&#36335;&#30001;&#35268;&#21017;&#12290;<\/li>\n<\/ol>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#21517;&#20026; <code>User<\/code> &#30340;&#27169;&#22411;&#65292;&#23427;&#26377;&#19968;&#20010;&#21517;&#20026; <code>name<\/code> &#30340;&#23646;&#24615;&#12290;&#25105;&#20204;&#24819;&#25353;&#23383;&#27597;&#39034;&#24207;&#23545;&#29992;&#25143;&#36827;&#34892;&#25490;&#24207;&#12290;&#25152;&#20197;&#25105;&#20204;&#38656;&#35201;&#20174; <code>AppHttpControllersController<\/code> &#23548;&#20837; <code>UserController<\/code> &#31867;&#65292;&#24182;&#19988;&#38656;&#35201;&#33719;&#21462;&#29992;&#25143;&#30340; <code>name<\/code> &#23646;&#24615;&#12290;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\nuse AppModelsUser;\n\nclass UserController extends Controller\n{\n    \/**\n     * Display a listing of the resource.\n     *\n     * @return IlluminateHttpResponse\n     *\/\n    public function index(Request $request)\n    {\n        \/\/ &#33719;&#21462;&#35831;&#27714;&#21442;&#25968;\n        $sortBy = $request-&gt;input('sortBy');\n\n        \/\/ &#25353;&#29031; 'sortBy' &#21442;&#25968;&#25490;&#24207;\n        $users = User::orderBy($sortBy, 'asc')-&gt;get();\n\n        return response()-&gt;json([\n            'status' =&gt; true,\n            'message' =&gt; 'Users sorted by ' . $sortBy,\n            'data' =&gt; $users\n        ]);\n    }\n}<\/code><\/pre>\n<ol start=\"3\">\n<li>&#37197;&#32622;&#20013;&#38388;&#20214;&#65306;\n&#26368;&#21518;&#19968;&#27493;&#26159;&#23558;&#26032;&#21019;&#24314;&#30340;&#20013;&#38388;&#20214;&#24212;&#29992;&#21040;&#36335;&#30001;&#32452;&#19978;&#12290;&#25105;&#20204;&#21487;&#20197;&#36890;&#36807;&#20462;&#25913; <code>app\/Http\/Middleware\/SortMiddleware.php<\/code> &#25991;&#20214;&#20013;&#30340; <code>register()<\/code> &#26041;&#27861;&#26469;&#23436;&#25104;&#36825;&#19968;&#24037;&#20316;&#12290;<\/li>\n<\/ol>\n<p>&#29616;&#22312;&#65292;&#24403;&#20320;&#36816;&#34892; Laravel &#24212;&#29992;&#24182;&#35775;&#38382; <code>\/api\/users<\/code> &#36335;&#30001;&#26102;&#65292;&#20013;&#38388;&#20214;&#23558;&#20250;&#25353;&#29031;&#25351;&#23450;&#30340;&#25490;&#24207;&#26041;&#24335;&#65288;&#22312;&#36825;&#31181;&#24773;&#20917;&#19979;&#65292;&#25353;&#23383;&#27597;&#39034;&#24207;&#65289;&#36820;&#22238;&#32467;&#26524;&#12290;<\/p>\n<p>&#35831;&#27880;&#24847;&#65292;&#36825;&#21482;&#26159;&#19968;&#20010;&#22522;&#26412;&#30340;&#20363;&#23376;&#65292;&#23454;&#38469;&#30340;&#24212;&#29992;&#22330;&#26223;&#21487;&#33021;&#20250;&#26356;&#22797;&#26434;&#65292;&#20363;&#22914;&#22788;&#29702;&#25968;&#25454;&#24211;&#26597;&#35810;&#12289;&#25490;&#24207;&#31639;&#27861;&#30340;&#36873;&#25321;&#31561;&#12290;&#27492;&#22806;&#65292;&#20320;&#36824;&#38656;&#35201;&#30830;&#20445;&#20320;&#30340;&#25968;&#25454;&#24211;&#34920;&#21644;&#23383;&#27573;&#19982;&#20320;&#23450;&#20041;&#30340;&#20013;&#38388;&#20214;&#36923;&#36753;&#30456;&#21305;&#37197;&#12290;<\/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 &#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#21019;&#24314;&#21644;&#27880;&#20876;&#33258;&#23450;&#038;#2..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-801","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\/801","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=801"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=801"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=801"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}