{"id":987,"date":"2025-06-12T04:16:48","date_gmt":"2025-06-11T20:16:48","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/987.html"},"modified":"2025-06-12T04:16:48","modified_gmt":"2025-06-11T20:16:48","slug":"laravel-eloquent%ef%bc%9a%e5%9c%a8%e7%9b%b8%e5%85%b3%e8%a1%a8%e4%b8%ad%e7%bb%9f%e8%ae%a1%e8%ae%b0%e5%bd%95","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/987.html","title":{"rendered":"Laravel Eloquent\uff1a\u5728\u76f8\u5173\u8868\u4e2d\u7edf\u8ba1\u8bb0\u5f55"},"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>&#26631;&#39064;&#65306;&#20351;&#29992; Laravel Eloquent &#22312;&#30456;&#20851;&#34920;&#20013;&#32479;&#35745;&#35760;&#24405;<\/p>\n<p>&#22312; Laravel &#20013;&#65292;Eloquent &#26159;&#19968;&#20010;&#38750;&#24120;&#24378;&#22823;&#30340; ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65289;&#65292;&#23427;&#20351;&#24471;&#25968;&#25454;&#24211;&#25805;&#20316;&#21464;&#24471;&#26356;&#21152;&#31616;&#21333;&#21644;&#30452;&#35266;&#12290;&#22312;&#22788;&#29702;&#25968;&#25454;&#26102;&#65292;&#26377;&#26102;&#20505;&#25105;&#20204;&#38656;&#35201;&#20174;&#22810;&#20010;&#34920;&#20013;&#33719;&#21462;&#30456;&#20851;&#30340;&#35760;&#24405;&#65292;&#24182;&#23545;&#36825;&#20123;&#35760;&#24405;&#36827;&#34892;&#32479;&#35745;&#12290;&#19979;&#38754;&#25105;&#23558;&#23637;&#31034;&#22914;&#20309;&#22312; Laravel Eloquent &#20013;&#23454;&#29616;&#36825;&#19968;&#28857;&#12290;<\/p>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010; <code>User<\/code> &#27169;&#22411;&#21644;&#19968;&#20010; <code>Post<\/code> &#27169;&#22411;&#65292;&#23427;&#20204;&#20043;&#38388;&#30340;&#20851;&#32852;&#26159;&#36890;&#36807;&#29992;&#25143; ID &#20851;&#32852;&#30340;&#12290;&#25105;&#20204;&#24076;&#26395;&#32479;&#35745;&#27599;&#20010;&#29992;&#25143;&#30340;&#24086;&#23376;&#25968;&#37327;&#12290;<\/p>\n<h3>1. &#23450;&#20041;&#27169;&#22411;<\/h3>\n<p>&#39318;&#20808;&#65292;&#23450;&#20041; <code>User<\/code> &#21644; <code>Post<\/code> &#27169;&#22411;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ app\/Models\/User.php\nnamespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n    public function posts()\n    {\n        return $this-&gt;hasMany(Post::class);\n    }\n}<\/code><\/pre>\n<pre><code class=\"language-php\">\/\/ app\/Models\/Post.php\nnamespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass Post extends Model\n{\n    public function user()\n    {\n        return $this-&gt;belongsTo(User::class);\n    }\n}<\/code><\/pre>\n<h3>2. &#33719;&#21462;&#29992;&#25143;&#24182;&#32479;&#35745;&#24086;&#23376;&#25968;&#37327;<\/h3>\n<p>&#25509;&#19979;&#26469;&#65292;&#25105;&#20204;&#21487;&#20197;&#32534;&#20889;&#19968;&#20010;&#26041;&#27861;&#26469;&#33719;&#21462;&#27599;&#20010;&#29992;&#25143;&#30340;&#24086;&#23376;&#25968;&#37327;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ app\/Services\/UserService.php\nnamespace AppServices;\n\nuse AppModelsUser;\nuse IlluminateSupportFacadesDB;\n\nclass UserService\n{\n    public function getUserPostsCount($userId)\n    {\n        \/\/ &#20351;&#29992; Eloquent &#30340; eager loading &#26469;&#20943;&#23569;&#26597;&#35810;&#27425;&#25968;\n        $user = User::with('posts')-&gt;find($userId);\n\n        if ($user) {\n            return count($user-&gt;posts);\n        } else {\n            return 0;\n        }\n    }\n}<\/code><\/pre>\n<h3>3. &#35843;&#29992;&#26381;&#21153;<\/h3>\n<p>&#26368;&#21518;&#65292;&#25105;&#20204;&#22312;&#25511;&#21046;&#22120;&#25110;&#20854;&#20182;&#22320;&#26041;&#35843;&#29992;&#36825;&#20010;&#26381;&#21153;&#26041;&#27861;&#26469;&#33719;&#21462;&#29992;&#25143;&#24086;&#23376;&#25968;&#37327;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ app\/Http\/Controllers\/UserController.php\nnamespace AppHttpControllers;\n\nuse AppServicesUserService;\nuse IlluminateHttpRequest;\n\nclass UserController extends Controller\n{\n    private $userService;\n\n    public function __construct(UserService $userService)\n    {\n        $this-&gt;userService = $userService;\n    }\n\n    public function getUserPostsCount(Request $request, $userId)\n    {\n        $count = $this-&gt;userService-&gt;getUserPostsCount($userId);\n\n        return response()-&gt;json(['count' =&gt; $count]);\n    }\n}<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#20195;&#30721;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312;&#25511;&#21046;&#22120;&#20013;&#35843;&#29992;&#26381;&#21153;&#26041;&#27861;&#24182;&#36820;&#22238;&#29992;&#25143;&#24086;&#23376;&#25968;&#37327;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ routes\/web.php\nuse AppHttpControllersUserController;\nuse IlluminateHttpRequest;\n\nRoute::get('\/users\/{id}\/posts-count', [UserController::class, 'getUserPostsCount']);<\/code><\/pre>\n<pre><code class=\"language-php\">\/\/ app\/Http\/Controllers\/UserController.php\nnamespace AppHttpControllers;\n\nuse AppServicesUserService;\nuse IlluminateHttpRequest;\n\nclass UserController extends Controller\n{\n    private $userService;\n\n    public function __construct(UserService $userService)\n    {\n        $this-&gt;userService = $userService;\n    }\n\n    public function getUserPostsCount(Request $request, $userId)\n    {\n        $count = $this-&gt;userService-&gt;getUserPostsCount($userId);\n\n        return response()-&gt;json(['count' =&gt; $count]);\n    }\n}<\/code><\/pre>\n<pre><code class=\"language-php\">\/\/ app\/Services\/UserService.php\nnamespace AppServices;\n\nuse AppModelsUser;\nuse IlluminateSupportFacadesDB;\n\nclass UserService\n{\n    public function getUserPostsCount($userId)\n    {\n        \/\/ &#20351;&#29992; Eloquent &#30340; eager loading &#26469;&#20943;&#23569;&#26597;&#35810;&#27425;&#25968;\n        $user = User::with('posts')-&gt;find($userId);\n\n        if ($user) {\n            return count($user-&gt;posts);\n        } else {\n            return 0;\n        }\n    }\n}<\/code><\/pre>\n<p>&#36825;&#26679;&#65292;&#24403;&#20320;&#35775;&#38382; <code>\/users\/{id}\/posts-count<\/code> &#36335;&#30001;&#26102;&#65292;&#20320;&#20250;&#24471;&#21040;&#25351;&#23450;&#29992;&#25143;&#24086;&#23376;&#30340;&#25968;&#37327;&#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>&#29702;&#35299;&#21487;&#21160;&#20851;&#31995;<\/h2><p>Laravel&#30340;&#19968;&#20010;&#24378;&#22823;&#21151;&#33021;&#26159;Eloquent ORM&#65292;&#23427;&#20801;&#35768;&#20351;&#29992;&#34920;&#36798;&#24335;&#35821;&#27861;&#19982;&#25968;&#25454;&#24211;&#36827;&#34892;&#26080;&#32541;&#20132;&#20114;&#12290;&#22312;&#22788;&#29702;&#30456;&#20851;&#27169;&#22411;&#26102;&#65292;&#32463;&#24120;&#20250;&#38656;&#35201;&#23545;&#30456;&#20851;&#30340;&#34920;&#20013;&#30340;&#35760;&#24405;&#25968;&#37327;&#36827;&#34892;&#35745;&#25968;&#12290;&#22312;&#36825;&#31687;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#35752;&#22914;&#20309;&#20351;&#29992;Eloquent&#26377;&#25928;&#22320;&#35745;&#25968;&#30456;&#20851;&#35760;&#24405;&#12290;<\/p><h2>&#24314;&#31435;&#20851;&#31995;<\/h2><p>&#22312;&#25105;&#20204;&#28145;&#20837;&#35745;&#25968;&#30456;&#20851;&#35760;&#24405;&#20043;&#21069;&#65292;&#30830;&#20445;&#25105;&#20204;&#22312;Laravel&#20013;&#27491;&#30830;&#23450;&#20041;&#20102;&#27169;&#22411;&#20851;&#31995;&#38750;&#24120;&#37325;&#35201;&#12290;&#20197;&#19979;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#19968;&#23545;&#22810;&#20851;&#31995;&#31034;&#20363;&#65292;&#20854;&#20013;&#21253;&#21547;&#19968;&#20010;&#34920;&#21644;&#22810;&#20010;&#23376;&#34920;&#65306;<code>Post<\/code>and &#26159;&ldquo;&#24182;&#19988;&rdquo;&#30340;&#24847;&#24605;&#65292;&#36890;&#24120;&#29992;&#20110;&#36830;&#25509;&#20004;&#20010;&#24182;&#21015;&#30340;&#21477;&#23376;&#25110;&#34920;&#36798;&#12290;<code>Comment<\/code>&#22909;&#30340;&#65292;&#35831;&#21457;&#36865;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>class Post extends Model {\n    public function comments() {\n        return $this-&gt;hasMany(Comment::class);\n    }\n}\n\nclass Comment extends Model {\n    public function post() {\n        return $this-&gt;belongsTo(Post::class);\n    }\n}<\/code><\/pre><p>&#22312;&#20851;&#31995;&#35774;&#32622;&#22909;&#20043;&#21518;&#65292;&#25105;&#20204;&#21487;&#20197;&#24320;&#22987;&#32479;&#35745;&#26576;&#20010;&#24086;&#23376;&#30340;&#35780;&#35770;&#25968;&#37327;&#20102;&#12290;<\/p><h2>&#22522;&#26412;&#30340;&#35745;&#25968;&#12290;<\/h2><p>&#20026;&#20102;&#32479;&#35745;&#30456;&#20851;&#35760;&#24405;&#65292;&#35831;&#20351;&#29992;<code>count()<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>$post = Post::find(1);\n$commentsCount = $post-&gt;comments()-&gt;count();<\/code><\/pre><p>&#36825;&#23558;&#25191;&#34892;&#19968;&#20010;&#26597;&#35810;&#65292;&#35813;&#26597;&#35810;&#29992;&#20110;&#35745;&#31639;&#19982;ID&#20026;1&#30340;&#24086;&#23376;&#30456;&#20851;&#30340;&#35780;&#35770;&#25968;&#37327;&#12290;<\/p><h2>&#22312;&#26465;&#20214;&#19979;&#30340;&#35745;&#25968;<\/h2><p>&#26377;&#26102;&#65292;&#24744;&#21487;&#33021;&#24076;&#26395;&#26681;&#25454;&#26576;&#20123;&#26465;&#20214;&#32479;&#35745;&#30456;&#20851;&#35760;&#24405;&#30340;&#25968;&#37327;&#12290;&#36825;&#21487;&#20197;&#36890;&#36807;&#20351;&#29992; COUNTIF &#20989;&#25968;&#26469;&#23454;&#29616;&#12290;<code>where()<\/code>&#25265;&#27465;&#65292;&#25105;&#26080;&#27861;&#29702;&#35299;&#24744;&#25552;&#20379;&#30340;&#20449;&#24687;&#12290;&#35831;&#37325;&#26032;&#25551;&#36848;&#24744;&#30340;&#38382;&#39064;&#25110;&#25552;&#20379;&#26356;&#22810;&#20449;&#24687;&#20197;&#20415;&#20110;&#25105;&#26356;&#22909;&#22320;&#20026;&#24744;&#25552;&#20379;&#24110;&#21161;&#12290;<code>count()<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>$post = Post::find(1);\n$activeCommentsCount = $post-&gt;comments()-&gt;where('status', 'active')-&gt;count();<\/code><\/pre><p>&#35813;&#20195;&#30721;&#23558;&#36820;&#22238;&#36873;&#23450;&#24086;&#23376;&#30340;&#27963;&#36291;&#35780;&#35770;&#25968;&#37327;&#12290;<\/p><h2>&#20381;&#36182;&#22810;&#20010;&#20851;&#31995;<\/h2><p>&#23545;&#20110;&#20855;&#26377;&#22810;&#20010;&#20851;&#31995;&#30340;&#27169;&#22411;&#65292;&#21487;&#20197;&#36890;&#36807;Eloquent&#33719;&#21462;&#27599;&#20010;&#20851;&#31995;&#30340;&#25968;&#37327;&#12290;<code>withCount()<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>$posts = Post::withCount(['comments', 'likes'])-&gt;get();\n\nforeach ($posts as $post) {\n    echo $post-&gt;comments_count;\n    echo $post-&gt;likes_count;\n}<\/code><\/pre><p>&#36755;&#20986;&#23558;&#20250;&#26174;&#31034;&#27599;&#20010;&#24086;&#23376;&#30340;&#35780;&#35770;&#25968;&#37327;&#21644;&#28857;&#36190;&#25968;&#12290;<\/p><h2>&#39640;&#31561;&#35745;&#25968;<\/h2><p>&#24744;&#36824;&#21487;&#20197;&#25191;&#34892;&#26356;&#22797;&#26434;&#30340;&#35745;&#25968;&#65292;&#20363;&#22914;&#35745;&#31639;&#21807;&#19968;&#20540;&#25110;&#20351;&#29992;&#36830;&#25509;&#12290;&#36825;&#37324;&#26377;&#19968;&#20010;&#31034;&#20363;&#65306;<\/p><pre><code>$commentAuthorsCount = Post::find(1)-&gt;comments()\n                          -&gt;select('user_id')\n                          -&gt;distinct()\n                          -&gt;count('user_id');<\/code><\/pre><p>&#35813;&#20195;&#30721;&#23558;&#32479;&#35745;&#24086;&#23376;&#19978;&#35780;&#35770;&#30340;&#20316;&#32773;&#25968;&#37327;&#65292;&#30830;&#20445;&#27599;&#20010;&#20316;&#32773;&#21482;&#35745;&#25968;&#19968;&#27425;&#12290;<\/p><h2>&#20351;&#29992;&#25042;&#21152;&#36733;&#35745;&#25968;<\/h2><p>&#25042;&#21152;&#36733;&#26159;&#19968;&#31181;&#39640;&#25928;&#30340;&#26041;&#27861;&#65292;&#29992;&#20110;&#19981;&#24341;&#36215;N+1&#38382;&#39064;&#22320;&#35745;&#25968;&#30456;&#20851;&#35760;&#24405;&#65306;<\/p><pre><code>$posts = Post::with('comments')-&gt;get();\n\nforeach ($posts as $post) {\n    $commentsCount = $post-&gt;comments-&gt;count();\n}<\/code><\/pre><p>&#36825;&#31181;&#26041;&#27861;&#22312;&#19968;&#27425;&#26597;&#35810;&#20013;&#21152;&#36733;&#25152;&#26377;&#30456;&#20851;&#30340;&#35780;&#35770;&#65292;&#28982;&#21518;&#22312;&#20869;&#23384;&#20013;&#35745;&#25968;&#65292;&#20174;&#32780;&#36991;&#20813;&#20102;&#23545;&#25968;&#25454;&#24211;&#30340;&#22810;&#27425;&#35775;&#38382;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#24050;&#32463;&#23398;&#20064;&#20102;&#20351;&#29992;Laravel&#30340;Eloquent ORM&#30340;&#21508;&#31181;&#35745;&#25968;&#26041;&#27861;&#26469;&#30456;&#20851;&#34920;&#20013;&#30340;&#35760;&#24405;&#12290;&#20174;&#22522;&#26412;&#30340;&#35745;&#25968;&#21040;&#26356;&#39640;&#32423;&#30340;&#25216;&#26415;&#65292;Eloquent&#25552;&#20379;&#20102;&#19982;&#30456;&#20851;&#25968;&#25454;&#20132;&#20114;&#30340;&#20248;&#38597;&#19988;&#39640;&#25928;&#30340;&#25163;&#27573;&#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&#25552;&#20379;&#20102;&#24378;&#22823;&#30340;&#21151;&#33021;&#26469;&#25805;&#20316;&#25968;&#25454;&#24211;&#65292;&#24182;&#19988;&#23427;&#20801;&#35768;&#25105;&#20204;&#36731;&#26494;&#22320;&#36827;&#34892;&#21508;&#31181;&#26597;&#35810;&#21644;&#35745;&#31639;&#12290;&#19979;&#38754;&#26159;&#19968;&#20010;&#20351;&#29992;Eloquent ORM&#32479;&#35745;&#26576;&#20010;&#23383;&#27573;&#25968;&#37327;&#30340;&#20363;&#23376;&#65306;<\/p>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#30340;&#39033;&#30446;&#20013;&#26377;&#20197;&#19979;&#20004;&#20010;&#25991;&#20214;&#65306;<\/p>\n<ol>\n<li><strong>models<\/strong> &#25991;&#20214;&#22841;&#19979;&#26377;&#19968;&#20010;&#21517;&#20026;<code>User.php<\/code>&#30340;&#25991;&#20214;&#12290;<\/li>\n<li>&#22312;<code>database\/migrations\/2023_04_07_154659_create_users_table.php<\/code>&#36825;&#20010;&#36801;&#31227;&#25991;&#20214;&#12290;<\/li>\n<\/ol>\n<h3>&#21019;&#24314;&#29992;&#25143;&#27169;&#22411;<\/h3>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppModels;\n\nuse IlluminateDatabaseEloquentFactoriesHasFactory;\nuse IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n    use HasFactory;\n\n    protected $fillable = [\n        'name',\n        'email',\n        'password',\n    ];\n\n    public function posts()\n    {\n        return $this-&gt;hasMany(Post::class);\n    }\n}<\/code><\/pre>\n<h3>&#20351;&#29992;Eloquent ORM&#32479;&#35745;&#29992;&#25143;&#25968;&#37327;<\/h3>\n<pre><code class=\"language-php\">\/\/ &#20351;&#29992;Eloquent ORM&#32479;&#35745;&#29992;&#25143;&#25968;&#37327;\n$users = User::all()-&gt;count();\n\necho \"Total users: \" . $users;<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#36890;&#36807; <code>User::all()<\/code> &#33719;&#21462;&#25152;&#26377;&#29992;&#25143;&#30340;&#23454;&#20363;&#65292;&#28982;&#21518;&#35843;&#29992; <code>.count()<\/code> &#26041;&#27861;&#26469;&#33719;&#21462;&#36825;&#20123;&#29992;&#25143;&#24635;&#25968;&#12290;&#26368;&#21518;&#65292;&#25105;&#20204;&#25171;&#21360;&#20986;&#24635;&#29992;&#25143;&#25968;&#12290;<\/p>\n<p>&#27880;&#24847;&#65306;&#36825;&#21482;&#26159;&#19968;&#20010;&#22522;&#26412;&#30340;&#20363;&#23376;&#65292;&#23454;&#38469;&#24212;&#29992;&#20013;&#21487;&#33021;&#38656;&#35201;&#26681;&#25454;&#20855;&#20307;&#38656;&#27714;&#35843;&#25972;SQL&#35821;&#21477;&#21644;&#36923;&#36753;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#35201;&#32479;&#35745;&#29305;&#23450;&#26465;&#20214;&#19979;&#30340;&#29992;&#25143;&#25968;&#37327;&#65288;&#22914;&#21482;&#26597;&#30475;&#27963;&#36291;&#29992;&#25143;&#65289;&#65292;&#21017;&#38656;&#35201;&#36827;&#19968;&#27493;&#20462;&#25913;&#19978;&#36848;&#26597;&#35810;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#26631;&#39064;&#65306;&#20351;&#29992; Laravel Eloquent &#22312;&#30456;&#20851;&#34920;&#20013;&#32479;&#35745;&#35760;&#24405; &#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-987","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\/987","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=987"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=987"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=987"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}