{"id":1006,"date":"2025-06-12T04:42:29","date_gmt":"2025-06-11T20:42:29","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/1006.html"},"modified":"2025-06-12T04:42:29","modified_gmt":"2025-06-11T20:42:29","slug":"%e5%a6%82%e4%bd%95%e4%bc%98%e5%8c%96-laravel-eloquent-%e6%9f%a5%e8%af%a2-%e5%8c%85%e5%90%ab%e5%ae%9e%e4%be%8b","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/1006.html","title":{"rendered":"\u5982\u4f55\u4f18\u5316 Laravel Eloquent \u67e5\u8be2 (\u5305\u542b\u5b9e\u4f8b)"},"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>&#20248;&#21270; Laravel Eloquent &#26597;&#35810;&#23545;&#20110;&#25552;&#39640;&#24212;&#29992;&#31243;&#24207;&#30340;&#24615;&#33021;&#33267;&#20851;&#37325;&#35201;&#12290;&#20197;&#19979;&#26159;&#19968;&#20123;&#24120;&#35265;&#30340;&#26041;&#27861;&#21644;&#26368;&#20339;&#23454;&#36341;&#65292;&#24110;&#21161;&#20320;&#32534;&#20889;&#26356;&#39640;&#25928;&#12289;&#26356;&#31616;&#27905;&#30340; Eloquent &#26597;&#35810;&#12290;<\/p>\n<h3>1. &#20351;&#29992; <code>select<\/code> &#26041;&#27861;&#38480;&#21046;&#23383;&#27573;<\/h3>\n<p>&#40664;&#35748;&#24773;&#20917;&#19979;&#65292;Eloquent &#26597;&#35810;&#20250;&#36820;&#22238;&#25152;&#26377;&#23383;&#27573;&#12290;&#36890;&#36807;&#20351;&#29992; <code>select<\/code> &#26041;&#27861;&#21487;&#20197;&#21482;&#36873;&#25321;&#38656;&#35201;&#30340;&#23383;&#27573;&#65292;&#20174;&#32780;&#20943;&#23569;&#25968;&#25454;&#20256;&#36755;&#37327;&#24182;&#25552;&#39640;&#26597;&#35810;&#25928;&#29575;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21407;&#22987;&#26597;&#35810;\n$users = User::all();\n\n\/\/ &#20248;&#21270;&#26597;&#35810;\n$users = User::select('id', 'name')-&gt;get();<\/code><\/pre>\n<h3>2. &#20351;&#29992; <code>where<\/code> &#21644; <code>orWhere<\/code> &#26041;&#27861;&#36827;&#34892;&#26465;&#20214;&#36807;&#28388;<\/h3>\n<p>Eloquent &#25552;&#20379;&#20102; <code>where<\/code> &#21644; <code>orWhere<\/code> &#26041;&#27861;&#26469;&#28789;&#27963;&#22320;&#28155;&#21152;&#26465;&#20214;&#36807;&#28388;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21407;&#22987;&#26597;&#35810;\n$activeUsers = User::where('status', 'active')-&gt;get();\n\n\/\/ &#20248;&#21270;&#26597;&#35810;\n$activeUsers = User::where('status', 'active')-&gt;orWhere('role', 'admin')-&gt;get();<\/code><\/pre>\n<h3>3. &#20351;&#29992; <code>orderBy<\/code> &#26041;&#27861;&#23545;&#32467;&#26524;&#25490;&#24207;<\/h3>\n<p>&#36890;&#36807;&#20351;&#29992; <code>orderBy<\/code> &#26041;&#27861;&#21487;&#20197;&#23545;&#26597;&#35810;&#32467;&#26524;&#25353;&#25351;&#23450;&#23383;&#27573;&#36827;&#34892;&#25490;&#24207;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21407;&#22987;&#26597;&#35810;\n$sortedUsers = User::orderBy('created_at', 'desc')-&gt;get();\n\n\/\/ &#20248;&#21270;&#26597;&#35810;\n$sortedUsers = User::latest()-&gt;get();<\/code><\/pre>\n<h3>4. &#20351;&#29992; <code>limit<\/code> &#21644; <code>offset<\/code> &#26041;&#27861;&#20998;&#39029;<\/h3>\n<p>&#22914;&#26524;&#20320;&#38656;&#35201;&#20998;&#39029;&#32467;&#26524;&#65292;&#21487;&#20197;&#20351;&#29992; <code>limit<\/code> &#21644; <code>offset<\/code> &#26041;&#27861;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21407;&#22987;&#26597;&#35810;\n$paginatedUsers = User::paginate(10);\n\n\/\/ &#20248;&#21270;&#26597;&#35810;\n$paginatedUsers = User::take(10)-&gt;skip(0)-&gt;get();<\/code><\/pre>\n<h3>5. &#20351;&#29992; <code>with<\/code> &#26041;&#27861;&#21152;&#36733;&#20851;&#32852;&#20851;&#31995;<\/h3>\n<p>&#20351;&#29992; <code>with<\/code> &#26041;&#27861;&#21487;&#20197;&#19968;&#27425;&#24615;&#21152;&#36733;&#20851;&#32852;&#20851;&#31995;&#30340;&#25968;&#25454;&#65292;&#32780;&#19981;&#26159;&#22810;&#27425;&#26597;&#35810;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21407;&#22987;&#26597;&#35810;\n$user = User::find(1);\n$posts = $user-&gt;posts;\n\n\/\/ &#20248;&#21270;&#26597;&#35810;\n$user = User::with('posts')-&gt;find(1);<\/code><\/pre>\n<h3>6. &#20351;&#29992; <code>chunk<\/code> &#26041;&#27861;&#20998;&#25209;&#22788;&#29702;&#22823;&#37327;&#25968;&#25454;<\/h3>\n<p>&#23545;&#20110;&#22823;&#37327;&#25968;&#25454;&#65292;&#21487;&#20197;&#20351;&#29992; <code>chunk<\/code> &#26041;&#27861;&#20998;&#25209;&#22788;&#29702;&#25968;&#25454;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21407;&#22987;&#26597;&#35810;\nUser::chunk(100, function ($users) {\n    foreach ($users as $user) {\n        \/\/ &#22788;&#29702;&#27599;&#20010;&#29992;&#25143;\n    }\n});\n\n\/\/ &#20248;&#21270;&#26597;&#35810;\nUser::chunk(100, function ($users) use (&amp;$count) {\n    foreach ($users as $user) {\n        \/\/ &#22788;&#29702;&#27599;&#20010;&#29992;&#25143;\n        $count++;\n    }\n});<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010; <code>Post<\/code> &#27169;&#22411;&#65292;&#20854;&#20013;&#21253;&#21547; <code>user_id<\/code> &#23383;&#27573;&#65292;&#25105;&#20204;&#21487;&#20197;&#20351;&#29992;&#36825;&#20123;&#25216;&#24039;&#26469;&#20248;&#21270;&#26597;&#35810;&#12290;<\/p>\n<h4>&#21407;&#22987;&#26597;&#35810;<\/h4>\n<pre><code class=\"language-php\">$post = Post::find(1);\n$user = $post-&gt;user;<\/code><\/pre>\n<h4>&#20248;&#21270;&#26597;&#35810;<\/h4>\n<pre><code class=\"language-php\">$post = Post::find(1);\n$user = $post-&gt;load('user');<\/code><\/pre>\n<p>&#36890;&#36807;&#36825;&#20123;&#26041;&#27861;&#65292;&#20320;&#21487;&#20197;&#26174;&#33879;&#25552;&#39640; Laravel Eloquent &#26597;&#35810;&#30340;&#24615;&#33021;&#12290;&#26681;&#25454;&#20320;&#30340;&#20855;&#20307;&#38656;&#27714;&#65292;&#21487;&#20197;&#36873;&#25321;&#21512;&#36866;&#30340;&#26041;&#27861;&#26469;&#20248;&#21270;&#20320;&#30340;&#26597;&#35810;&#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>Laravel&#30340;Eloquent ORM&#26159;&#19968;&#20010;&#31616;&#21333;&#20294;&#24378;&#22823;&#30340;&#24037;&#20855;&#65292;&#29992;&#20110;&#19982;&#25968;&#25454;&#24211;&#20132;&#20114;&#12290;&#28982;&#32780;&#65292;&#22914;&#26524;&#27809;&#26377;&#36866;&#24403;&#26597;&#35810;&#20248;&#21270;&#65292;&#24744;&#21487;&#33021;&#20250;&#36935;&#21040;&#24615;&#33021;&#38382;&#39064;&#65292;&#38543;&#30528;&#24212;&#29992;&#31243;&#24207;&#30340;&#22686;&#38271;&#12290;&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#35752;&#22914;&#20309;&#26377;&#25928;&#22320;&#20248;&#21270;Eloquent&#26597;&#35810;&#12290;<\/p><h2>&#20248;&#21270;&#30340;&#22522;&#26412;&#27010;&#24565;<\/h2><h3>&#36873;&#25321;&#29305;&#23450;&#30340;&#21015;<\/h3><pre><code>$users = User::select('id', 'name')-&gt;get();<\/code><\/pre><p>&#36890;&#36807;&#25351;&#23450;&#21015;&#21517;&#65292;&#20320;&#21487;&#20197;&#20943;&#23569;&#20174;&#25968;&#25454;&#24211;&#20013;&#26816;&#32034;&#30340;&#25968;&#25454;&#37327;&#65292;&#20174;&#32780;&#21152;&#24555;&#26597;&#35810;&#25191;&#34892;&#30340;&#36895;&#24230;&#12290;<\/p><h3>&#25042;&#21152;&#36733;&#20851;&#31995;&#25805;&#20316;<\/h3><pre><code>$books = Book::with('author')-&gt;get();<\/code><\/pre><p>&#36825;&#21487;&#20197;&#38450;&#27490;N+1&#26597;&#35810;&#38382;&#39064;&#65292;&#25552;&#21069;&#21152;&#36733;&#30456;&#20851;&#27169;&#22411;&#12290;<\/p><h2>&#20013;&#32423;&#25216;&#24039;<\/h2><h3>&#32034;&#24341;&#21015;<\/h3><p>&#22312;&#39057;&#32321;&#26597;&#35810;&#30340;&#21015;&#19978;&#21019;&#24314;&#32034;&#24341;&#20197;&#25552;&#39640;&#24615;&#33021;&#12290;<\/p><h3>&#23384;&#22312;&#37327;&#35789;<\/h3><pre><code>$users = User::whereHas('posts', function ($query) {\n    $query-&gt;where('published', true);\n})-&gt;get();<\/code><\/pre><p>&#36825;&#38480;&#21046;&#20102;&#32467;&#26524;&#38598;&#20013;&#30340;&#29992;&#25143;&#65292;&#36825;&#20123;&#29992;&#25143;&#26377;&#21457;&#24067;&#30340;&#24086;&#23376;&#12290;<\/p><h3>&#20351;&#29992;&#21407;&#22987;&#34920;&#36798;&#27861;&#12290;<\/h3><pre><code>$users = User::selectRaw('count(*) as user_count, status')-&gt;groupBy('status')-&gt;get();<\/code><\/pre><p>&#30452;&#35793;&#65306;&#21407;&#22987;&#34920;&#36798;&#24335;&#38750;&#24120;&#24378;&#22823;&#65292;&#20294;&#24212;&#35880;&#24910;&#20351;&#29992;&#65292;&#22240;&#20026;&#23384;&#22312;SQL&#27880;&#20837;&#30340;&#39118;&#38505;&#12290;<\/p><h2>&#39640;&#32423;&#25216;&#26415;<\/h2><h3>&#20998;&#22359;&#32467;&#26524;&#26174;&#31034;<\/h3><pre><code>User::chunk(200, function ($users) {\n    foreach ($users as $user) {\n        \/\/ Process the user...\n    }\n});<\/code><\/pre><p>&#36825;&#31181;&#22788;&#29702;&#26041;&#24335;&#20250;&#20197;&#22359;&#30340;&#24418;&#24335;&#23545;&#22823;&#25968;&#25454;&#38598;&#36827;&#34892;&#22788;&#29702;&#65292;&#20174;&#32780;&#20943;&#23569;&#20869;&#23384;&#20351;&#29992;&#37327;&#12290;<\/p><h3>&#20351;&#29992;&#28216;&#26631;<\/h3><pre><code>foreach (User::where('active', true)-&gt;cursor() as $user) {\n    \/\/ Process the user\n}<\/code><\/pre><p>&#28216;&#26631;&#20801;&#35768;&#24744;&#20351;&#29992;&#29983;&#25104;&#22120;&#36941;&#21382;&#25968;&#25454;&#24211;&#35760;&#24405;&#65292;&#35813;&#29983;&#25104;&#22120;&#20165;&#22312;&#20869;&#23384;&#20013;&#23384;&#20648;&#21333;&#20010;&#27169;&#22411;&#12290;<\/p><h3>&#22797;&#26434;&#30340;&#26597;&#35810;&#21644;&#36830;&#25509;&#25805;&#20316;<\/h3><pre><code>$query = User::select('users.*')\n    -&gt;join('posts', 'users.id', '=', 'posts.user_id')\n    -&gt;where('posts.created_at', '&gt;', now()-&gt;subDay())\n    -&gt;orderBy('posts.created_at', 'desc');\n$usersWithRecentPosts = $query-&gt;get();<\/code><\/pre><p>&#33258;&#23450;&#20041;&#30340;&#20851;&#32852;&#25805;&#20316;&#21487;&#20197;&#26356;&#39640;&#25928;&#65292;&#20294;&#22312;&#20351;&#29992;&#23427;&#20204;&#20043;&#21069;&#65292;&#35831;&#30830;&#20445;&#23427;&#20204;&#26159;&#24517;&#35201;&#30340;&#65292;&#24182;&#19988;&#36991;&#20813;&#20102;Eloquent&#20851;&#31995;&#26041;&#27861;&#12290;<\/p><h3>&#25968;&#25454;&#24211;&#20107;&#21153;<\/h3><pre><code>DB::transaction(function () {\n    \/\/ Perform multiple database operations\n});<\/code><\/pre><p>&#25968;&#25454;&#24211;&#20107;&#21153;&#30830;&#20445;&#20102;&#22810;&#20010;&#25805;&#20316;&#20197;&#21407;&#23376;&#30340;&#26041;&#24335;&#25191;&#34892;&#65292;&#36825;&#21487;&#20197;&#25552;&#39640;&#24615;&#33021;&#24182;&#22686;&#24378;&#25968;&#25454;&#23436;&#25972;&#24615;&#12290;<\/p><h3>&#24615;&#33021;&#27979;&#35797;&#21644;&#24615;&#33021;&#20998;&#26512;<\/h3><p>&#20351;&#29992;&#22914;Debugbar&#25110;Telescope&#31561;&#24211;&#21487;&#20197;&#25552;&#20379;&#26597;&#35810;&#24615;&#33021;&#30340;&#35265;&#35299;&#21644;&#28508;&#22312;&#29942;&#39048;&#30340;&#20449;&#24687;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#20248;&#21270;Eloquent&#26597;&#35810;&#23545;&#20110;&#32500;&#25252;&#39640;&#24615;&#33021;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#33267;&#20851;&#37325;&#35201;&#12290;&#36890;&#36807;&#22312;&#36866;&#24403;&#30340;&#26102;&#38388;&#24212;&#29992;&#36866;&#24403;&#30340;&#25216;&#24039;&#65292;&#24744;&#21487;&#20197;&#22312;&#25968;&#25454;&#24211;&#20132;&#20114;&#20013;&#26174;&#33879;&#25552;&#39640;&#24212;&#29992;&#30340;&#36895;&#24230;&#21644;&#25928;&#29575;&#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>Laravel&#30340;Eloquent ORM&#26159;&#19968;&#31181;&#36731;&#37327;&#32423;&#30340;&#25968;&#25454;&#35775;&#38382;&#23618;&#24211;&#65292;&#29992;&#20110;&#19982;&#20851;&#31995;&#22411;&#25968;&#25454;&#24211;&#36827;&#34892;&#20132;&#20114;&#12290;&#35201;&#20248;&#21270;Laravel&#30340;Eloquent&#26597;&#35810;&#65292;&#21487;&#20197;&#37319;&#21462;&#20197;&#19979;&#20960;&#31181;&#26041;&#27861;&#65306;<\/p>\n<ol>\n<li><strong>&#20351;&#29992;&#20851;&#32852;&#36816;&#31639;&#31526;&#65288;<code>-&gt;<\/code>&#65289;<\/strong>&#65306;Eloquent&#25552;&#20379;&#20102;&#22810;&#31181;&#20851;&#32852;&#36816;&#31639;&#31526;&#26469;&#31616;&#21270;&#22797;&#26434;&#30340;&#26597;&#35810;&#12290;&#20363;&#22914;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;<code>-&gt;first()<\/code>&#33719;&#21462;&#21333;&#20010;&#32467;&#26524;&#65292;&#25110;&#32773;&#20351;&#29992;<code>-&gt;where()<\/code>&#12289;<code>-&gt;orWhere()<\/code>&#31561;&#26041;&#27861;&#26681;&#25454;&#26465;&#20214;&#36807;&#28388;&#25968;&#25454;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">$users = User::find(1)\n    -&gt;with('comments')\n    -&gt;get();<\/code><\/pre>\n<ol start=\"2\">\n<li>\n<p><strong>&#36991;&#20813;&#19981;&#24517;&#35201;&#30340;&#26597;&#35810;<\/strong>&#65306;&#23613;&#37327;&#20943;&#23569;&#23545;&#25968;&#25454;&#24211;&#30340;&#26597;&#35810;&#27425;&#25968;&#12290;&#21487;&#20197;&#36890;&#36807;&#32531;&#23384;&#24050;&#26597;&#35810;&#30340;&#25968;&#25454;&#65292;&#36991;&#20813;&#37325;&#22797;&#26597;&#35810;&#30456;&#21516;&#30340;&#34920;&#21644;&#21015;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#20351;&#29992;&#26597;&#35810;&#24037;&#21378;&#65288;<code>QueryFactory<\/code>&#65289;<\/strong>&#65306;&#21019;&#24314;&#26597;&#35810;&#26102;&#65292;&#21487;&#20197;&#23558;&#22797;&#26434;&#26597;&#35810;&#25286;&#20998;&#20026;&#26356;&#23567;&#30340;&#37096;&#20998;&#65292;&#20174;&#32780;&#25552;&#39640;&#24615;&#33021;&#12290;<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"language-php\">public function create($data) {\n    $model = new User();\n\n    return $this-&gt;query()\n        -&gt;create([\n            'name' =&gt; $data['name'],\n            'email' =&gt; $data['email'],\n        ]);\n}<\/code><\/pre>\n<ol start=\"4\">\n<li><strong>&#20351;&#29992;&#39044;&#32534;&#35793;SQL<\/strong>&#65306;&#39044;&#32534;&#35793;SQL&#35821;&#21477;&#21487;&#20197;&#26174;&#33879;&#20943;&#23569;&#26597;&#35810;&#26102;&#38388;&#65292;&#24182;&#19988;&#23545;&#20110;&#39057;&#32321;&#20351;&#29992;&#30340;SQL&#35821;&#21477;&#38750;&#24120;&#26377;&#29992;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">public function getPostsForUser($userId) {\n    $posts = Post::select('id', 'title', 'body')\n        -&gt;join('users', 'posts.user_id', '=', 'users.id')\n        -&gt;where('posts.user_id', $userId)\n        -&gt;orderBy('created_at', 'desc')\n        -&gt;limit(5)\n        -&gt;get();\n\n    return $posts;\n}<\/code><\/pre>\n<ol start=\"5\">\n<li><strong>&#21033;&#29992;Eloquent&#30340;ORM&#29305;&#24615;<\/strong>&#65306;&#21512;&#29702;&#22320;&#20351;&#29992;Eloquent&#30340;ORM&#29305;&#24615;&#65292;&#27604;&#22914;&#20851;&#32852;&#12289;&#32858;&#21512;&#31561;&#65292;&#21487;&#20197;&#22823;&#22823;&#25552;&#39640;&#26597;&#35810;&#25928;&#29575;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">\/\/ &#32858;&#21512;&#25805;&#20316;\n$users = User::all()-&gt;sum('age');\n\n\/\/ &#20851;&#32852;&#25805;&#20316;\n$users = User::with(['friends'])-&gt;get();\n\n\/\/ &#35745;&#25968;&#22120;\n$users = User::count();<\/code><\/pre>\n<ol start=\"6\">\n<li><strong>&#20998;&#39029;&#26597;&#35810;<\/strong>&#65306;&#22914;&#26524;&#38656;&#35201;&#22788;&#29702;&#22823;&#37327;&#25968;&#25454;&#65292;&#21487;&#20197;&#32771;&#34385;&#20351;&#29992;&#20998;&#39029;&#26597;&#35810;&#12290;&#36825;&#21487;&#20197;&#24110;&#21161;&#20943;&#36731;&#25968;&#25454;&#24211;&#30340;&#21387;&#21147;&#24182;&#25552;&#20379;&#26356;&#22909;&#30340;&#29992;&#25143;&#20307;&#39564;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">$users = User::paginate(10);<\/code><\/pre>\n<ol start=\"7\">\n<li>\n<p><strong>&#20351;&#29992;&#32531;&#23384;<\/strong>&#65306;&#36890;&#36807;&#20351;&#29992;&#32531;&#23384;&#25216;&#26415;&#65292;&#21487;&#20197;&#22312;&#30701;&#26102;&#38388;&#20869;&#24555;&#36895;&#21709;&#24212;&#35831;&#27714;&#32780;&#19981;&#20250;&#22686;&#21152;&#24310;&#36831;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#20351;&#29992;ORM&#20248;&#21270;&#24037;&#20855;<\/strong>&#65306;&#26377;&#35768;&#22810;&#19987;&#38376;&#38024;&#23545;Laravel&#30340;ORM&#20248;&#21270;&#24037;&#20855;&#65292;&#22914;Eloquent Optimizer&#12289;ORM Refactoring&#31561;&#65292;&#36825;&#20123;&#24037;&#20855;&#21487;&#20197;&#24110;&#21161;&#20320;&#20248;&#21270;Eloquent&#26597;&#35810;&#12290;<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"language-php\">use IlluminateSupportFacadesSchema;\n\n\/\/ &#20248;&#21270;&#26597;&#35810;\nSchema::disableForeignKeyConstraints();\n$users = User::withCount('comments')-&gt;get();\nSchema::enableForeignKeyConstraints();<\/code><\/pre>\n<ol start=\"9\">\n<li><strong>&#38169;&#35823;&#26085;&#24535;<\/strong>&#65306;&#30830;&#20445;&#27491;&#30830;&#35760;&#24405;&#25152;&#26377;&#26597;&#35810;&#21644;&#24322;&#24120;&#65292;&#36825;&#23545;&#20110;&#35843;&#35797;&#21644;&#32500;&#25252;&#38750;&#24120;&#37325;&#35201;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">try {\n    \/\/ &#25191;&#34892;&#26597;&#35810;\n} catch (Exception $e) {\n    \/\/ &#22788;&#29702;&#38169;&#35823;\n}<\/code><\/pre>\n<p>&#20197;&#19978;&#23601;&#26159;&#19968;&#20123;&#20248;&#21270;Laravel Eloquent&#26597;&#35810;&#30340;&#26041;&#27861;&#65292;&#24076;&#26395;&#23545;&#20320;&#26377;&#25152;&#24110;&#21161;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#20248;&#21270; Laravel Eloquent &#26597;&#35810;&#23545;&#20110;&#25552;&#39640;&#24212;&#29992;&#31243;&#24207;&#30340;&#24615;&#038;#..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-1006","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\/1006","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=1006"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=1006"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=1006"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=1006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}