{"id":992,"date":"2025-06-12T04:23:38","date_gmt":"2025-06-11T20:23:38","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/992.html"},"modified":"2025-06-12T04:23:38","modified_gmt":"2025-06-11T20:23:38","slug":"laravel-eloquent%ef%bc%9a%e5%a6%82%e4%bd%95%e5%90%88%e5%b9%b6%e5%a4%9a%e4%b8%aa%e9%9b%86%e5%90%88","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/992.html","title":{"rendered":"Laravel Eloquent\uff1a\u5982\u4f55\u5408\u5e76\u591a\u4e2a\u96c6\u5408"},"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>Laravel Eloquent &#26159;&#19968;&#20010;&#38750;&#24120;&#24378;&#22823;&#30340; ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65289;&#24037;&#20855;&#65292;&#29992;&#20110;&#31616;&#21270;&#25968;&#25454;&#24211;&#25805;&#20316;&#12290;&#24403;&#20320;&#38656;&#35201;&#21512;&#24182;&#22810;&#20010; Eloquent &#38598;&#21512;&#26102;&#65292;&#21487;&#20197;&#20351;&#29992; <code>merge<\/code> &#26041;&#27861;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#21512;&#24182;&#20004;&#20010; Eloquent &#38598;&#21512;&#30340;&#31034;&#20363;&#20195;&#30721;&#65306;<\/p>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#20004;&#20010;&#27169;&#22411; <code>User<\/code> &#21644; <code>Post<\/code>&#65292;&#24182;&#19988;&#23427;&#20204;&#36890;&#36807;&#19968;&#20010;&#20013;&#38388;&#34920; <code>user_posts<\/code> &#36830;&#25509;&#12290;<\/p>\n<p>&#39318;&#20808;&#65292;&#23450;&#20041;&#36825;&#20123;&#27169;&#22411;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n    public function posts()\n    {\n        return $this-&gt;belongsToMany(Post::class, 'user_posts');\n    }\n}\n\nnamespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass Post extends Model\n{\n    public function user()\n    {\n        return $this-&gt;belongsTo(User::class, 'user_posts');\n    }\n}<\/code><\/pre>\n<p>&#25509;&#19979;&#26469;&#65292;&#25105;&#20204;&#21019;&#24314;&#19968;&#20123;&#31034;&#20363;&#25968;&#25454;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21019;&#24314;&#29992;&#25143;\n$user1 = User::create(['name' =&gt; 'Alice']);\n$user2 = User::create(['name' =&gt; 'Bob']);\n\n\/\/ &#21019;&#24314;&#24086;&#23376;\n$post1 = Post::create(['title' =&gt; 'First Post', 'content' =&gt; 'This is the first post.']);\n$post2 = Post::create(['title' =&gt; 'Second Post', 'content' =&gt; 'This is the second post.']);\n\n\/\/ &#23558;&#24086;&#23376;&#20998;&#37197;&#32473;&#29992;&#25143;\n$user1-&gt;posts()-&gt;attach($post1);\n$user2-&gt;posts()-&gt;attach($post2);<\/code><\/pre>\n<p>&#29616;&#22312;&#65292;&#25105;&#20204;&#21487;&#20197;&#21512;&#24182;&#36825;&#20004;&#20010;&#29992;&#25143;&#30340;&#24086;&#23376;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ &#33719;&#21462;&#29992;&#25143;1&#21644;&#29992;&#25143;2&#30340;&#24086;&#23376;\n$users = [User::find(1), User::find(2)];\n\n\/\/ &#21512;&#24182;&#24086;&#23376;\n$mergedPosts = collect();\n\nforeach ($users as $user) {\n    $mergedPosts = $mergedPosts-&gt;merge($user-&gt;posts);\n}\n\n\/\/ &#25171;&#21360;&#21512;&#24182;&#21518;&#30340;&#24086;&#23376;\nforeach ($mergedPosts as $post) {\n    echo \"Title: {$post-&gt;title}, Content: {$post-&gt;content}n\";\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#31034;&#20363;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#33719;&#21462;&#20102;&#20004;&#20010;&#29992;&#25143;&#30340;&#23454;&#20363;&#65292;&#28982;&#21518;&#23558;&#27599;&#20010;&#29992;&#25143;&#30340;&#24086;&#23376;&#28155;&#21152;&#21040;&#19968;&#20010; <code>Collection<\/code> &#20013;&#12290;&#26368;&#21518;&#65292;&#25105;&#20204;&#23558;&#25152;&#26377;&#24086;&#23376;&#21512;&#24182;&#25104;&#19968;&#20010;&#21333;&#19968;&#30340; <code>Collection<\/code>&#12290;<\/p>\n<p>&#36755;&#20986;&#23558;&#20250;&#26159;&#65306;<\/p>\n<pre><code>Title: First Post, Content: This is the first post.\nTitle: Second Post, Content: This is the second post.<\/code><\/pre>\n<p>&#36825;&#26679;&#65292;&#25105;&#20204;&#23601;&#25104;&#21151;&#22320;&#21512;&#24182;&#20102;&#20004;&#20010; Eloquent &#38598;&#21512;&#20013;&#30340;&#24086;&#23376;&#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 &#26159;&#19968;&#20010;&#27969;&#34892;&#30340; PHP Web &#24212;&#29992;&#26694;&#26550;&#65292;&#20197;&#20854;&#20248;&#38597;&#30340;ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65289;&#32780;&#38395;&#21517;&#65292;&#23427;&#20026;&#25968;&#25454;&#24211;&#25805;&#20316;&#25552;&#20379;&#20102;&#31616;&#27905;&#26131;&#29992;&#30340;ActiveRecord&#23454;&#29616;&#12290;&#22312;Eloquent&#20013;&#65292;&#24320;&#21457;&#32773;&#32463;&#24120;&#20250;&#36935;&#21040;&#22788;&#29702;&#27169;&#22411;&#38598;&#21512;&#30340;&#20219;&#21153;&#12290;&#22312;&#36825;&#31687;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#20174;&#22522;&#30784;&#24320;&#22987;&#36880;&#27493;&#20171;&#32461;&#26356;&#39640;&#32423;&#30340;&#24773;&#26223;&#65292;&#21253;&#25324;&#31034;&#20363;&#21644;&#39044;&#26399;&#36755;&#20986;&#12290;<\/p><h2>&#21512;&#24182;Eloquent&#38598;&#21512;<\/h2><p>&#21487;&#35821;&#22659;&#21270;&#30340;&#38598;&#21512;&#31867;&#26159;&#23545;&#35937;&#30340;&#23454;&#20363;&#12290;<code>IlluminateSupportCollection<\/code>&#31867;&#21644;&#23545;&#35937;&#22312;&#20351;&#29992;&#35832;&#22914;&#30340;&#26041;&#27861;&#26102;&#36820;&#22238;&#12290;<code>get<\/code>&#21734;&#65292;&#23545;&#21527;&#65311;<code>all<\/code>&#27491;&#22312;&#36827;&#34892;&#19968;&#20010;&#27169;&#22411;&#26597;&#35810;&#12290;Collections&#25552;&#20379;&#20102;&#22810;&#31181;&#36845;&#20195;&#12289;&#26144;&#23556;&#12289;&#20943;&#23569;&#31561;&#24110;&#21161;&#30340;&#26041;&#27861;&#12290;<\/p><h3>&#31616;&#21333;&#30340;&#21512;&#24182;&#25805;&#20316;&#12290;<\/h3><p>&#20026;&#20102;&#21512;&#24182;&#20004;&#20010;&#38598;&#21512;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;<code>merge<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>$firstCollection = User::where('status', 'active')-&gt;get();\n$secondCollection = User::where('status', 'inactive')-&gt;get();\n\n$mergedCollection = $firstCollection-&gt;merge($secondCollection);\n<\/code><\/pre><p>&#21512;&#24182;&#21518;&#30340;&#38598;&#21512;&#23558;&#31616;&#21333;&#22320;&#32452;&#21512;&#36825;&#20004;&#20010;&#38598;&#21512;&#24182;&#21024;&#38500;&#21253;&#21547;&#30456;&#21516;ID&#30340;&#37325;&#22797;&#27169;&#22411;&#65306;<\/p><pre><code>Collection {#1 [\n    \/\/ Combined models from both collections\n]}\n<\/code><\/pre><h3>&#22312;&#21512;&#24182;&#21518;&#21024;&#38500;&#37325;&#22797;&#39033;&#12290;<\/h3><p>&#22914;&#26524;&#20320;&#38656;&#35201;&#22312;&#21512;&#24182;&#21518;&#21024;&#38500;&#37325;&#22797;&#39033;&#65292;&#35831;&#20351;&#29992;&#12290;<code>unique<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>$uniqueCollection = $mergedCollection-&gt;unique('id');\n<\/code><\/pre><p>&#32467;&#26524;&#26159;&#19968;&#22871;&#22522;&#20110;&#23427;&#20204;&#30340;&ldquo;id&rdquo;&#23646;&#24615;&#30340;&#29420;&#29305;&#27169;&#22411;&#38598;&#21512;&#65306;<\/p><pre><code>Collection {#2 [\n    \/\/ Unique models based on ID\n]}\n<\/code><\/pre><h3>&#39640;&#32423;&#21512;&#24182;&#25805;&#20316;<\/h3><p>&#22914;&#26524;&#20320;&#22312;&#22788;&#29702;&#19981;&#21516;&#31867;&#22411;&#30340;&#25968;&#25454;&#27169;&#22411;&#65292;&#20173;&#28982;&#21487;&#20197;&#21512;&#24182;&#38598;&#21512;&#12290;<\/p><pre><code>$userCollection = User::where('status', 'active')-&gt;get();\n$postCollection = Post::all();\n\n$mergedDifferentCollections = $userCollection-&gt;merge($postCollection);\n<\/code><\/pre><p>&#32467;&#26524;&#26159;&#19968;&#20010;&#21253;&#21547;&#29992;&#25143;&#21644;&#24086;&#23376;&#23454;&#20363;&#30340;&#38598;&#21512;&#12290;<\/p><h3>&#23558;&#38598;&#21512;&#21512;&#24182;&#19982;&#20851;&#31995;&#30456;&#32467;&#21512;<\/h3><p>&#26377;&#26102;&#65292;&#20320;&#21487;&#33021;&#38656;&#35201;&#21512;&#24182;&#21253;&#21547;&#30456;&#20851;&#27169;&#22411;&#30340;&#38598;&#21512;&#12290;<\/p><pre><code>\/\/ Assume users have 'posts' relationship returning a hasMany relation\n$user = User::with('posts')-&gt;find(1);\n$additionalPosts = Post::where('status', 'published')-&gt;get();\n\n$mergedPosts = $user-&gt;posts-&gt;merge($additionalPosts);\n<\/code><\/pre><p>&#36825;&#23558;&#20135;&#29983;&#19968;&#20010;&#21512;&#24182;&#21518;&#30340;&#38598;&#21512;&#65292;&#20854;&#20013;&#21253;&#21547;&#29992;&#25143;&#30340;&#24086;&#23376;&#20197;&#21450;&#20219;&#20309;&#24050;&#21457;&#24067;&#30340;&#20854;&#20182;&#24086;&#23376;&#12290;<\/p><h3>&#26465;&#20214;&#21512;&#24182;<\/h3><p>&#20320;&#21487;&#20197;&#21482;&#22312;&#26576;&#20123;&#26465;&#20214;&#19979;&#21512;&#24182;&#38598;&#21512;&#12290;&#26465;&#20214;&#21512;&#24182;&#38750;&#24120;&#31616;&#21333;&#65306;<\/p><pre><code>$collectionOne = User::all();\n$collectionTwo = User::where('score', '&gt;', 100)-&gt;get();\n\n$mergedWithCondition = $collectionOne-&gt;when($condition, function ($collection) use ($collectionTwo) {\n    return $collection-&gt;merge($collectionTwo);\n});\n<\/code><\/pre><p>&#22914;&#26524;<code>$condition<\/code>&#20107;&#23454;&#19978;&#65292;&#36825;&#20004;&#20010;&#38598;&#21512;&#23558;&#20250;&#21512;&#24182;&#65307;&#21542;&#21017;&#30340;&#35805;&#65292;<code>$collectionOne<\/code>&#20445;&#25345;&#19981;&#21464;&#12290;<\/p><h2>&#32467;&#26463;&#20250;&#35758;<\/h2><p>&#22914;&#19978;&#20363;&#25152;&#31034;&#65292;Laravel Eloquent &#20013;&#21512;&#24182;&#38598;&#21512;&#26082;&#28789;&#27963;&#21448;&#30452;&#35266;&#12290;&#26080;&#35770;&#24744;&#22788;&#29702;&#31616;&#21333;&#38598;&#21512;&#12289;&#24212;&#23545;&#37325;&#22797;&#39033;&#12289;&#32452;&#21512;&#19981;&#21516;&#27169;&#22411;&#31867;&#22411;&#12289;&#21512;&#24182;&#20851;&#31995;&#36824;&#26159;&#26465;&#20214;&#21512;&#24182;&#65292;Eloquent &#37117;&#20250;&#20026;&#24744;&#25552;&#20379;&#25152;&#38656;&#24037;&#20855;&#12290;&#35831;&#35760;&#20303;&#20197;&#19979;&#22522;&#30784;&#30340; Eloquent &#38598;&#21512;&#26041;&#27861;&#65306;<code>merge<\/code>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<code>unique<\/code>,, &#23545;&#20110;&#26465;&#20214;&#36923;&#36753;&#65292;<code>when<\/code>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><p>&#31616;&#35328;&#20043;&#65292;&#25484;&#25569;&#22914;&#20309;&#29087;&#32451;&#22320;&#25805;&#32437;&#21644;&#21512;&#24182;Eloquent&#38598;&#21512;&#21487;&#20197;&#26174;&#33879;&#25552;&#39640;&#20320;&#22312;Laravel&#24212;&#29992;&#31243;&#24207;&#20013;&#30340;&#25968;&#25454;&#22788;&#29702;&#25928;&#29575;&#12290;&#36825;&#20123;&#25805;&#20316;&#32972;&#21518;&#30340;&#31616;&#27905;&#24615;&#21644;&#24378;&#22823;&#24615;&#20351;&#24471;&#20195;&#30721;&#32452;&#32455;&#21644;&#25191;&#34892;&#21464;&#24471;&#20248;&#38597;&#19988;&#39640;&#25928;&#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>Eloquent&#26159;Laravel&#26694;&#26550;&#30340;&#19968;&#20010;ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65289;&#24211;&#65292;&#23427;&#25552;&#20379;&#20102;&#26041;&#20415;&#30340;API&#26469;&#25805;&#20316;&#25968;&#25454;&#24211;&#12290;&#22312;Eloquent&#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;<code>-&gt;merge()<\/code>&#26041;&#27861;&#23558;&#20004;&#20010;&#25110;&#26356;&#22810;&#30340;&#38598;&#21512;&#21512;&#24182;&#22312;&#19968;&#36215;&#12290;<\/p>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#20004;&#20010;&#38598;&#21512;<code>$users<\/code>&#21644; <code>$roles<\/code>&#65306;<\/p>\n<pre><code class=\"language-php\">use AppModelsUser;\nuse AppModelsRole;\n\nclass UserRoles {\n    public function __construct() {\n        $this-&gt;users = collect();\n        $this-&gt;roles = collect();\n    }\n\n    public function addUser($id) {\n        $this-&gt;users()-&gt;push(new User($id));\n    }\n\n    public function addRole($id) {\n        $this-&gt;roles()-&gt;push(new Role($id));\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;<code>UserRoles<\/code>&#31867;&#26377;&#19968;&#20010;<code>addUserRole<\/code>&#26041;&#27861;&#29992;&#20110;&#28155;&#21152;&#29992;&#25143;&#21040;&#35282;&#33394;&#38598;&#21512;&#20013;&#12290;&#35201;&#21512;&#24182;&#36825;&#20004;&#20010;&#38598;&#21512;&#65292;&#25105;&#20204;&#21487;&#20197;&#20351;&#29992;<code>-&gt;merge()<\/code>&#26041;&#27861;&#12290;<\/p>\n<p>&#39318;&#20808;&#65292;&#21019;&#24314;&#19968;&#20010;&#26032;&#23454;&#20363;&#65306;<\/p>\n<pre><code class=\"language-php\">$userRoles = new UserRoles();<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#20026;&#27599;&#20010;&#29992;&#25143;&#21644;&#35282;&#33394;&#20998;&#21035;&#35774;&#32622;&#23427;&#20204;&#30340;&#20540;&#65306;<\/p>\n<pre><code class=\"language-php\">$userRoles-&gt;addUserRole('1');\n$userRoles-&gt;addUserRole('2');\n$userRoles-&gt;addUserRole('3');\n\n\/\/ &#21516;&#26679;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;\n$userRoles-&gt;users()-&gt;merge([$userRoles-&gt;getUsers()]);<\/code><\/pre>\n<p>&#36825;&#20250;&#23558;&#25152;&#26377;&#30340;&#29992;&#25143;&#37117;&#28155;&#21152;&#21040;&#26032;&#30340;&#35282;&#33394;&#38598;&#21512;&#20013;&#65292;&#24182;&#19988;&#20445;&#25345;&#21407;&#26377;&#30340;&#39034;&#24207;&#12290;&#22914;&#26524;&#20320;&#24819;&#35201;&#25353;&#29031;&#26576;&#31181;&#29305;&#23450;&#30340;&#26041;&#24335;&#21512;&#24182;&#36825;&#20123;&#25968;&#25454;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;<code>-&gt;mergeByKey()<\/code>&#25110;&#32773;<code>-&gt;mergeByColumn()<\/code>&#26041;&#27861;&#12290;<\/p>\n<p>&#20363;&#22914;&#65292;&#22914;&#26524;&#25105;&#20204;&#35201;&#25353;&#29992;&#25143;&#30340;ID&#26469;&#21512;&#24182;&#29992;&#25143;&#21644;&#35282;&#33394;&#65306;<\/p>\n<pre><code class=\"language-php\">$userRoles-&gt;users()-&gt;mergeByColumn(function ($user, $role) {\n    return $user-&gt;id === $role-&gt;id ? 'new_role' : $user-&gt;id;\n});<\/code><\/pre>\n<p>&#36825;&#26679;&#65292;&#21482;&#26377;&#29992;&#25143;&#30340;ID&#30456;&#21516;&#30340;&#35282;&#33394;&#20250;&#34987;&#28155;&#21152;&#21040;&#26032;&#30340;&#38598;&#21512;&#20013;&#65292;&#32780;&#19981;&#21516;&#30340;ID&#21017;&#19981;&#20250;&#34987;&#37325;&#22797;&#28155;&#21152;&#12290;<\/p>\n<p>&#24635;&#32467;&#19968;&#19979;&#65292;<code>-&gt;merge()<\/code>&#26041;&#27861;&#20801;&#35768;&#20320;&#36731;&#26494;&#22320;&#23558;&#20004;&#20010;&#25110;&#22810;&#20010;&#38598;&#21512;&#21512;&#24182;&#22312;&#19968;&#36215;&#65292;&#36825;&#23545;&#20110;&#22788;&#29702;&#22823;&#37327;&#25968;&#25454;&#38598;&#38750;&#24120;&#26377;&#29992;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; Laravel Eloquent &#26159;&#19968;&#20010;&#38750;&#24120;&#24378;&#22823;&#30340; ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#038;#26144..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-992","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\/992","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=992"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=992"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=992"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}