{"id":991,"date":"2025-06-12T04:22:31","date_gmt":"2025-06-11T20:22:31","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/991.html"},"modified":"2025-06-12T04:22:31","modified_gmt":"2025-06-11T20:22:31","slug":"%e5%9c%a8eloquent%e4%b8%ad%e5%a4%84%e7%90%86%e4%b8%80%e5%af%b9%e5%a4%9a%e5%85%b3%e7%b3%bb%ef%bc%88%e5%90%ab%e7%a4%ba%e4%be%8b%ef%bc%89","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/991.html","title":{"rendered":"\u5728Eloquent\u4e2d\u5904\u7406\u4e00\u5bf9\u591a\u5173\u7cfb\uff08\u542b\u793a\u4f8b\uff09"},"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;Eloquent&#26694;&#26550;&#20013;&#22788;&#29702;&#19968;&#23545;&#22810;&#20851;&#31995;&#26159;&#19968;&#31181;&#24120;&#35265;&#30340;&#25805;&#20316;&#65292;&#23427;&#20801;&#35768;&#20320;&#23450;&#20041;&#19968;&#20010;&#27169;&#22411;&#19982;&#21478;&#19968;&#20010;&#27169;&#22411;&#20043;&#38388;&#30340;&#20851;&#32852;&#12290;&#20197;&#19979;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#31034;&#20363;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312;Eloquent&#20013;&#21019;&#24314;&#19968;&#23545;&#22810;&#20851;&#31995;&#65292;&#24182;&#36827;&#34892;&#19968;&#20123;&#22522;&#26412;&#30340;&#25805;&#20316;&#12290;<\/p>\n<h3>&#31034;&#20363;&#65306;&#29992;&#25143;&#21644;&#35746;&#21333;<\/h3>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#20004;&#20010;&#27169;&#22411;&#65306;<code>User<\/code> &#21644; <code>Order<\/code>&#12290;&#27599;&#20010;&#29992;&#25143;&#21487;&#20197;&#26377;&#22810;&#20010;&#35746;&#21333;&#65292;&#32780;&#27599;&#20010;&#35746;&#21333;&#23646;&#20110;&#19968;&#20010;&#29992;&#25143;&#12290;<\/p>\n<h4>1. &#23450;&#20041;&#27169;&#22411;<\/h4>\n<p>&#39318;&#20808;&#65292;&#25105;&#20204;&#38656;&#35201;&#23450;&#20041;&#36825;&#20004;&#20010;&#27169;&#22411;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ app\/User.php\nnamespace App;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n    public function orders()\n    {\n        return $this-&gt;hasMany(Order::class);\n    }\n}\n\n\/\/ app\/Order.php\nnamespace App;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass Order extends Model\n{\n    public function user()\n    {\n        return $this-&gt;belongsTo(User::class);\n    }\n}<\/code><\/pre>\n<h4>2. &#21019;&#24314;&#25968;&#25454;&#24211;&#34920;<\/h4>\n<p>&#30830;&#20445;&#20320;&#24050;&#32463;&#26377;&#19968;&#20010;&#21517;&#20026; <code>users<\/code> &#30340;&#29992;&#25143;&#34920;&#21644;&#19968;&#20010;&#21517;&#20026; <code>orders<\/code> &#30340;&#35746;&#21333;&#34920;&#12290;&#20320;&#21487;&#20197;&#20351;&#29992;&#36801;&#31227;&#26469;&#21019;&#24314;&#36825;&#20123;&#34920;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:migration create_users_table --create=users\nphp artisan make:migration create_orders_table --create=orders\n\nphp artisan migrate<\/code><\/pre>\n<h4>3. &#28155;&#21152;&#25968;&#25454;<\/h4>\n<p>&#29616;&#22312;&#65292;&#25105;&#20204;&#21487;&#20197;&#21521;&#25968;&#25454;&#24211;&#20013;&#28155;&#21152;&#19968;&#20123;&#25968;&#25454;&#65306;<\/p>\n<pre><code class=\"language-php\">$user = new User;\n$user-&gt;name = 'John Doe';\n$user-&gt;save();\n\n$order1 = new Order;\n$order1-&gt;user_id = $user-&gt;id;\n$order1-&gt;description = 'Order 1';\n$order1-&gt;save();\n\n$order2 = new Order;\n$order2-&gt;user_id = $user-&gt;id;\n$order2-&gt;description = 'Order 2';\n$order2-&gt;save();<\/code><\/pre>\n<h4>4. &#33719;&#21462;&#29992;&#25143;&#30340;&#25152;&#26377;&#35746;&#21333;<\/h4>\n<p>&#20320;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#26041;&#24335;&#33719;&#21462;&#26576;&#20010;&#29992;&#25143;&#30340;&#25152;&#26377;&#35746;&#21333;&#65306;<\/p>\n<pre><code class=\"language-php\">$user = User::find(1);\n\nforeach ($user-&gt;orders as $order) {\n    echo $order-&gt;description . PHP_EOL;\n}<\/code><\/pre>\n<h4>5. &#21019;&#24314;&#26032;&#35746;&#21333;<\/h4>\n<p>&#20320;&#20063;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#26041;&#24335;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#35746;&#21333;&#65306;<\/p>\n<pre><code class=\"language-php\">$order = new Order;\n$order-&gt;user_id = 1;\n$order-&gt;description = 'New Order';\n$order-&gt;save();\n\necho 'New order created with ID: ' . $order-&gt;id;<\/code><\/pre>\n<h4>6. &#21024;&#38500;&#35746;&#21333;<\/h4>\n<p>&#20320;&#36824;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#26041;&#24335;&#21024;&#38500;&#19968;&#20010;&#35746;&#21333;&#65306;<\/p>\n<pre><code class=\"language-php\">$order = Order::find(2);\n$order-&gt;delete();\n\necho 'Order deleted successfully.';<\/code><\/pre>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#21487;&#20197;&#22312;Eloquent&#20013;&#25104;&#21151;&#22320;&#22788;&#29702;&#19968;&#23545;&#22810;&#20851;&#31995;&#65292;&#24182;&#36827;&#34892;&#30456;&#24212;&#30340; CRUD &#25805;&#20316;&#12290;&#24076;&#26395;&#36825;&#20010;&#31034;&#20363;&#23545;&#20320;&#26377;&#25152;&#24110;&#21161;&#65281;<\/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>&#22312;&#20351;&#29992;Laravel&#24320;&#21457;&#24212;&#29992;&#31243;&#24207;&#26102;&#65292;&#29702;&#35299;Eloquent&#20851;&#31995;&#23545;&#20110;&#27491;&#30830;&#31649;&#29702;&#25968;&#25454;&#24211;&#35760;&#24405;&#33267;&#20851;&#37325;&#35201;&#12290;&#25968;&#25454;&#24211;&#35774;&#35745;&#20013;&#26368;&#24120;&#35265;&#30340;&#31867;&#22411;&#20043;&#19968;&#26159;&#19968;&#23545;&#22810;&#30340;&#20851;&#31995;&#12290;&#26412;&#25351;&#21335;&#23558;&#36890;&#36807;&#20351;&#29992;Eloquent ORM&#23454;&#29616;&#27492;&#31867;&#20851;&#31995;&#65292;&#25552;&#20379;&#19968;&#20123;&#23454;&#29992;&#31034;&#20363;&#65292;&#20197;&#24110;&#21161;&#24744;&#20102;&#35299;&#21644;&#24212;&#29992;&#36825;&#20123;&#27010;&#24565;&#21040;&#33258;&#24049;&#30340;Laravel&#39033;&#30446;&#20013;&#12290;<\/p><h3>A one-to-many relationship is a type of database relationship where each record in the first table (the &#8220;one&#8221; side) has zero or more records in the second table (the &#8220;many&#8221; side).<\/h3><p>&#19968;&#23545;&#19968;&#20851;&#31995;&#65288;One-to-One&#65289;&#21457;&#29983;&#22312;&#19968;&#20010;&#34920;&#20013;&#30340;&#35760;&#24405;&#19982;&#21478;&#19968;&#20010;&#34920;&#20013;&#30340;&#22810;&#20010;&#35760;&#24405;&#30456;&#20851;&#32852;&#30340;&#24773;&#20917;&#12290;&#20363;&#22914;&#65292;&#21338;&#23458;&#25991;&#31456;&#65288;&ldquo;&#19968;&#20010;&rdquo;&#65289;&#21487;&#33021;&#26377;&#22810;&#20010;&#35780;&#35770;&#65288;&ldquo;&#35768;&#22810;&rdquo;&#65289;&#12290;Eloquent&#20351;&#24471;&#31649;&#29702;&#36825;&#20123;&#20851;&#31995;&#26082;&#31616;&#21333;&#21448;&#30452;&#35266;&#12290;<\/p><h2>&#23450;&#20041;&#19968;&#23545;&#19968;&#20851;&#31995;&#21644;&#19968;&#23545;&#22810;&#20851;&#31995;<\/h2><p>&#25105;&#20204;&#20808;&#24320;&#22987;&#35774;&#32622;&#25105;&#20204;&#30340;&#27169;&#22411;&#21644;&#36801;&#31227;&#25991;&#20214;&#12290;&#20551;&#35774;&#25105;&#20204;&#35201;&#22788;&#29702;&#19968;&#20010;&#21338;&#23458;&#65292;&#20854;&#20013;&#19968;&#31687;&#25991;&#31456;&#21487;&#20197;&#21253;&#21547;&#22810;&#20010;&#35780;&#35770;&#12290;<code>Post<\/code>&#27169;&#22411;&#26377;&#24456;&#22810;&#12290;<code>Comment<\/code>&#27169;&#22411;&#12290;<\/p><pre><code>\/\/ app\/Models\/Post.php\nclass Post extends Model {\n    public function comments() {\n        return $this-&gt;hasMany(Comment::class);\n    }\n}\n\n\/\/ app\/Models\/Comment.php\nclass Comment extends Model {\n    public function post() {\n        return $this-&gt;belongsTo(Post::class);\n    }\n}\n<\/code><\/pre><p>&#22312;&#35780;&#35770;&#36801;&#31227;&#26102;&#65292;&#35831;&#30830;&#20445;&#23427;&#20204;&#26377;&#19968;&#20010;&#22806;&#38190;&#65292;&#35813;&#22806;&#38190;&#24341;&#29992;&#24086;&#23376;&#34920;&#65306;<\/p><pre><code>\/\/ database\/migrations\/create_comments_table.php\nSchema::create('comments', function (Blueprint $table) {\n    $table-&gt;id();\n    $table-&gt;foreignId('post_id')-&gt;constrained();\n    $table-&gt;text('content');\n    $table-&gt;timestamps();\n});\n<\/code><\/pre><h2>&#27491;&#22312;&#26816;&#32034;&#35760;&#24405;&#12290;<\/h2><p>&#35201;&#35775;&#38382;&#29305;&#23450;&#24086;&#23376;&#30340;&#35780;&#35770;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p><pre><code>$post = Post::find(1);\n$comments = $post-&gt;comments;\n<\/code><\/pre><p>&#26446;&#27931;&#20811;&#20250;&#33258;&#21160;&#22788;&#29702;&#20851;&#32852;&#34920;&#30340;&#36830;&#25509;&#12290;<\/p><h2>&#25554;&#20837;&#30456;&#20851;&#27169;&#22411;<\/h2><p>&#22312;&#20851;&#31995;&#24314;&#31435;&#20043;&#21518;&#65292;&#28155;&#21152;&#24086;&#23376;&#30340;&#35780;&#35770;&#21464;&#24471;&#24456;&#31616;&#21333;&#65306;<\/p><pre><code>$comment = new Comment(['content' =&gt; 'A new comment.']);\n$post-&gt;comments()-&gt;save($comment);\n<\/code><\/pre><p>&#36825;&#23558;&#20250;&#33258;&#21160;&#25226;&#26032;&#30340;&#35780;&#35770;&#38468;&#21152;&#21040;&#23427;&#25152;&#23646;&#30340;&#24086;&#23376;&#19978;&#12290;<\/p><h2>&#39640;&#32423;&#29992;&#27861;<\/h2><p>&#20320;&#20063;&#21487;&#20197;&#20351;&#29992;&#24378;&#22823;&#30340;&#26041;&#27861;&#65292;&#27604;&#22914;<code>whereHas<\/code>and &#26159;&ldquo;&#24182;&#19988;&rdquo;&#30340;&#24847;&#24605;&#12290;<code>with<\/code>&#26681;&#25454;&#23427;&#20204;&#30340;&#30456;&#20851;&#35780;&#35770;&#36827;&#34892;&#24086;&#23376;&#36807;&#28388;&#65306;<\/p><pre><code>$posts = Post::whereHas('comments', function($query) {\n    $query-&gt;where('content', 'like', '%first%');\n})-&gt;get();\n<\/code><\/pre><p>&#36825;&#23558;&#20250;&#33719;&#21462;&#21253;&#21547;&#21333;&#35789;&ldquo;first&rdquo;&#35780;&#35770;&#30340;&#24086;&#23376;&#12290;<\/p><p>&#25042;&#21152;&#36733;&#21487;&#33021;&#20250;&#24102;&#26469;&#24615;&#33021;&#38382;&#39064;&#65292;&#22240;&#27492;&#24212;&#35813;&#20248;&#20808;&#36827;&#34892;&#20851;&#31995;&#30340; eager &#25289;&#21462;&#65292;&#36825;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#26041;&#24335;&#23454;&#29616;&#65306;<code>with<\/code>&#24050;&#32463;&#25910;&#21040;&#65292;&#31245;&#21518;&#22788;&#29702;&#12290;<\/p><pre><code>$posts = Post::with('comments')-&gt;get();\n<\/code><\/pre><p>&#36825;&#23558;&#25226;&#24086;&#23376;&#30340;&#30456;&#20851;&#35780;&#35770;&#22312;&#19968;&#20010;&#26597;&#35810;&#20013;&#33719;&#21462;&#12290;<\/p><h2>&#22788;&#29702;&#22810;&#37325;&#20851;&#31995;<\/h2><p>&#22312;&#26356;&#22797;&#26434;&#30340;&#22330;&#26223;&#19979;&#65292;&#24403;&#24744;&#21487;&#33021;&#26377;&#22810;&#20010;&#23618;&#27425;&#30340;&#19968;&#23545;&#22810;&#20851;&#31995;&#65288;&#20363;&#22914;&#29992;&#25143;&#25317;&#26377;&#24086;&#23376;&#65292;&#36825;&#20123;&#24086;&#23376;&#21448;&#21253;&#21547;&#35780;&#35770;&#65289;&#26102;&#65292;Eloquent&#30340;&#23041;&#21147;&#24471;&#20197;&#20805;&#20998;&#23637;&#29616;&#65306;<\/p><pre><code>\/\/ In the User model\npublic function posts() {\n    return $this-&gt;hasMany(Post::class);\n}\n\n\/\/ To retrieve all comments for all posts by a single user\n$user = User::with('posts.comments')-&gt;find(1);\n<\/code><\/pre><h2>&#32467;&#35770;<\/h2><p>&#25484;&#25569;Eloquent&#20013;&#30340;&#19968;&#23545;&#19968;&#21644;&#22810;&#23545;&#19968;&#20851;&#31995;&#21487;&#20197;&#24110;&#21161;&#20320;&#20174;&#25968;&#25454;&#24211;&#31649;&#29702;&#36716;&#21521;&#24320;&#21457;&#24212;&#29992;&#31243;&#24207;&#30340;&#23454;&#38469;&#21151;&#33021;&#12290;Eloquent ORM&#30340;&#35821;&#27861;&#20248;&#38597;&#24615;&#20419;&#36827;&#20102;&#31616;&#27905;&#19988;&#26131;&#35835;&#30340;&#20195;&#30721;&#65292;&#20351;&#20316;&#20026;&#19968;&#21517;&#24320;&#21457;&#32773;&#30340;&#24037;&#20316;&#26356;&#21152;&#24841;&#24555;&#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;Eloquent ORM&#26694;&#26550;&#20013;&#65292;&#22788;&#29702;&#19968;&#23545;&#22810;&#20851;&#31995;&#26159;&#19968;&#31181;&#24120;&#35265;&#30340;&#32534;&#31243;&#22330;&#26223;&#65292;&#23588;&#20854;&#26159;&#22312;&#28041;&#21450;&#25968;&#25454;&#24211;&#27169;&#22411;&#26102;&#12290;&#19968;&#23545;&#22810;&#20851;&#31995;&#36890;&#24120;&#34920;&#31034;&#20004;&#20010;&#23454;&#20307;&#20043;&#38388;&#23384;&#22312;&#19968;&#31181;&#20851;&#32852;&#24615;&#65292;&#20854;&#20013;&#19968;&#20010;&#23454;&#20307;&#21487;&#20197;&#19982;&#21478;&#19968;&#20010;&#23454;&#20307;&#30340;&#22810;&#20010;&#23454;&#20363;&#30456;&#20851;&#32852;&#12290;<\/p>\n<h3>Eloquent ORM &#31034;&#20363;<\/h3>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;<code>Employee<\/code>&#27169;&#22411;&#21644;&#19968;&#20010;<code>Department<\/code>&#27169;&#22411;&#12290;&#25105;&#20204;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26041;&#27861;&#26469;&#33719;&#21462;&#25152;&#26377;&#21592;&#24037;&#25152;&#23646;&#37096;&#38376;&#30340;&#21015;&#34920;&#12290;&#36825;&#23558;&#28041;&#21450;&#21040;&#19968;&#20010;&#19968;&#23545;&#19968;&#30340;&#20851;&#31995;&#65292;&#21363;&#27599;&#20010;&#21592;&#24037;&#21482;&#33021;&#23646;&#20110;&#19968;&#20010;&#37096;&#38376;&#65292;&#32780;&#27599;&#20010;&#37096;&#38376;&#20063;&#21487;&#20197;&#26377;&#22810;&#20010;&#21592;&#24037;&#12290;<\/p>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#23433;&#35013;&#20102;Eloquent&#65306;<\/p>\n<pre><code class=\"language-bash\">composer require eloquenteloquent\/orm<\/code><\/pre>\n<p>&#25509;&#19979;&#26469;&#26159;&#20855;&#20307;&#30340;Eloquent&#20195;&#30721;&#31034;&#20363;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ Employee.php\nuse IlluminateDatabaseEloquentModel;\n\nclass Employee extends Model\n{\n    protected $fillable = ['name', 'department_id'];\n\n    public function department()\n    {\n        return $this-&gt;belongsTo('AppDepartment');\n    }\n}\n\n\/\/ Department.php\nuse IlluminateDatabaseEloquentModel;\nuse AppEmployee;\n\nclass Department extends Model\n{\n    protected $fillable = ['name'];\n\n    public function employees()\n    {\n        return $this-&gt;hasMany(Employee::class);\n    }\n}<\/code><\/pre>\n<h3>&#20351;&#29992;&#19968;&#23545;&#22810;&#20851;&#31995;&#30340;&#26041;&#27861;<\/h3>\n<p>&#29616;&#22312;&#25105;&#20204;&#26377;&#20102;<code>Employee<\/code>&#21644;<code>Department<\/code>&#27169;&#22411;&#21518;&#65292;&#25105;&#20204;&#21487;&#20197;&#20351;&#29992;Eloquent ORM&#36731;&#26494;&#22320;&#26597;&#35810;&#21592;&#24037;&#25152;&#23646;&#30340;&#37096;&#38376;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ EmployeeController.php\nuse AppHttpControllersController;\nuse AppEmployee;\nuse AppDepartment;\n\nclass EmployeeController extends Controller\n{\n    public function showEmployeesByDepartment($id)\n    {\n        \/\/ &#33719;&#21462;&#25351;&#23450;&#37096;&#38376;&#30340;&#25152;&#26377;&#21592;&#24037;\n        $employees = Employee::where('department_id', $id)-&gt;get();\n\n        return view('employees', compact('employees'));\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;<code>showEmployeesByDepartment<\/code>&#26041;&#27861;&#25509;&#21463;&#19968;&#20010;&#37096;&#38376;ID&#20316;&#20026;&#21442;&#25968;&#65292;&#24182;&#36820;&#22238;&#35813;&#37096;&#38376;&#30340;&#25152;&#26377;&#21592;&#24037;&#20449;&#24687;&#12290;&#36890;&#36807;<code>where<\/code>&#26041;&#27861;&#32467;&#21512;<code>$employees<\/code>&#25968;&#32452;&#65292;&#20320;&#21487;&#20197;&#26681;&#25454;&#38656;&#35201;&#36873;&#25321;&#29305;&#23450;&#30340;&#26465;&#20214;&#36827;&#34892;&#36807;&#28388;&#12290;<\/p>\n<h3>&#24635;&#32467;<\/h3>\n<p>&#36890;&#36807;&#19978;&#36848;&#20195;&#30721;&#65292;&#25105;&#20204;&#25104;&#21151;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312;Eloquent ORM&#20013;&#22788;&#29702;&#19968;&#23545;&#22810;&#20851;&#31995;&#65292;&#21253;&#25324;&#23450;&#20041;&#27169;&#22411;&#31867;&#12289;&#23454;&#29616;&#23646;&#24615;&#22635;&#20805;&#35268;&#21017;&#12289;&#23450;&#20041;&#20851;&#32852;&#20851;&#31995;&#31561;&#20851;&#38190;&#37096;&#20998;&#12290;&#36825;&#31181;&#26041;&#27861;&#20351;&#25105;&#20204;&#22312;&#32534;&#20889;&#22797;&#26434;&#30340;&#19994;&#21153;&#36923;&#36753;&#26102;&#26356;&#21152;&#28789;&#27963;&#21644;&#39640;&#25928;&#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;Eloquent&#26694;&#26550;&#20013;&#22788;&#29702;&#19968;&#23545;&#22810;&#20851;&#31995;&#26159;&#19968;&#31181;&#24120;&#038;#35..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-991","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\/991","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=991"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=991"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=991"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}