{"id":971,"date":"2025-06-12T03:53:31","date_gmt":"2025-06-11T19:53:31","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/971.html"},"modified":"2025-06-12T03:53:31","modified_gmt":"2025-06-11T19:53:31","slug":"eloquent%e4%b8%ad%e7%9a%84%e5%8a%a0%e6%9d%83%e9%9a%8f%e6%9c%ba%e9%80%89%e6%8b%a9%ef%bc%9a%e5%ae%9e%e7%94%a8%e6%8c%87%e5%8d%97","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/971.html","title":{"rendered":"Eloquent\u4e2d\u7684\u52a0\u6743\u968f\u673a\u9009\u62e9\uff1a\u5b9e\u7528\u6307\u5357"},"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;Eloquent&#20013;&#30340;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#65306;&#23454;&#29992;&#25351;&#21335;<\/p>\n<p>&#22312;&#20351;&#29992;Laravel&#26694;&#26550;&#36827;&#34892;&#25968;&#25454;&#24211;&#25805;&#20316;&#26102;&#65292;&#26377;&#26102;&#38656;&#35201;&#26681;&#25454;&#26576;&#20123;&#26465;&#20214;&#23545;&#25968;&#25454;&#36827;&#34892;&#38543;&#26426;&#36873;&#25321;&#12290;Eloquent ORM &#25552;&#20379;&#20102;&#22810;&#31181;&#26041;&#27861;&#26469;&#23454;&#29616;&#36825;&#19968;&#28857;&#65292;&#20854;&#20013;&#19968;&#31181;&#24120;&#29992;&#30340;&#26041;&#27861;&#26159;&#36890;&#36807;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#12290;<\/p>\n<h3>&#22522;&#26412;&#27010;&#24565;<\/h3>\n<p>&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#26159;&#25351;&#26681;&#25454;&#27599;&#20010;&#20803;&#32032;&#30340;&#26435;&#37325;&#65288;&#21363;&#27010;&#29575;&#65289;&#26469;&#20915;&#23450;&#26368;&#32456;&#36873;&#25321;&#30340;&#20803;&#32032;&#12290;&#36825;&#31181;&#36873;&#25321;&#26041;&#24335;&#21487;&#20197;&#29992;&#26469;&#22788;&#29702;&#20855;&#26377;&#19981;&#21516;&#37325;&#35201;&#24615;&#30340;&#25968;&#25454;&#39033;&#12290;<\/p>\n<h3>&#23454;&#29616;&#27493;&#39588;<\/h3>\n<ol>\n<li>\n<p><strong>&#23450;&#20041;&#26435;&#37325;<\/strong>&#65306;\n&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#20026;&#27599;&#20010;&#25968;&#25454;&#39033;&#35774;&#32622;&#19968;&#20010;&#26435;&#37325;&#12290;&#36825;&#20010;&#26435;&#37325;&#36890;&#24120;&#34920;&#31034;&#35813;&#25968;&#25454;&#39033;&#34987;&#36873;&#20013;&#30340;&#21487;&#33021;&#24615;&#22823;&#23567;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#29983;&#25104;&#38543;&#26426;&#25968;<\/strong>&#65306;\n&#20351;&#29992; PHP &#30340; <code>rand()<\/code> &#20989;&#25968;&#29983;&#25104;&#19968;&#20010;&#38543;&#26426;&#25968;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#35745;&#31639;&#32047;&#31215;&#27010;&#29575;<\/strong>&#65306;\n&#35745;&#31639;&#27599;&#20010;&#25968;&#25454;&#39033;&#30340;&#32047;&#31215;&#27010;&#29575;&#65292;&#20197;&#20415;&#30830;&#23450;&#21738;&#20010;&#25968;&#25454;&#39033;&#23558;&#34987;&#36873;&#20013;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#36873;&#25321;&#25968;&#25454;&#39033;<\/strong>&#65306;\n&#26681;&#25454;&#29983;&#25104;&#30340;&#38543;&#26426;&#25968;&#21644;&#32047;&#31215;&#27010;&#29575;&#65292;&#36873;&#25321;&#30456;&#24212;&#30340;&#25968;&#25454;&#39033;&#12290;<\/p>\n<\/li>\n<\/ol>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#21517;&#20026; <code>Products<\/code> &#30340;&#27169;&#22411;&#65292;&#24182;&#19988;&#25105;&#20204;&#24076;&#26395;&#26681;&#25454;&#20854; <code>weight<\/code> &#23383;&#27573;&#26469;&#38543;&#26426;&#36873;&#25321;&#19968;&#20010;&#20135;&#21697;&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateSupportFacadesDB;\n\n\/\/ &#23450;&#20041;&#26435;&#37325;\n$weights = [\n    'product1' =&gt; 0.5,\n    'product2' =&gt; 0.3,\n    'product3' =&gt; 0.2,\n];\n\n\/\/ &#29983;&#25104;&#38543;&#26426;&#25968;\n$totalWeight = array_sum($weights);\n$randomNumber = rand(1, $totalWeight);\n\n\/\/ &#35745;&#31639;&#32047;&#31215;&#27010;&#29575;\n$cumulativeWeights = [];\n$currentCumulative = 0;\nforeach ($weights as $key =&gt; $weight) {\n    $currentCumulative += $weight;\n    $cumulativeWeights[$key] = $currentCumulative;\n}\n\n\/\/ &#36873;&#25321;&#25968;&#25454;&#39033;\n$selectedProduct = null;\nforeach ($cumulativeWeights as $key =&gt; $cumulativeWeight) {\n    if ($randomNumber &lt;= $cumulativeWeight) {\n        $selectedProduct = $key;\n        break;\n    }\n}\n\necho \"Selected product: $selectedProduct\";<\/code><\/pre>\n<h3>&#35299;&#37322;<\/h3>\n<ol>\n<li>\n<p><strong>&#23450;&#20041;&#26435;&#37325;<\/strong>&#65306;\n<code>$weights<\/code> &#25968;&#32452;&#21253;&#21547;&#20102;&#27599;&#20010;&#20135;&#21697;&#30340;&#26435;&#37325;&#65292;&#20363;&#22914; <code>'product1' =&gt; 0.5<\/code> &#34920;&#31034;&#35813;&#20135;&#21697;&#34987;&#36873;&#20013;&#30340;&#27010;&#29575;&#20026; 50%&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#29983;&#25104;&#38543;&#26426;&#25968;<\/strong>&#65306;\n<code>rand(1, $totalWeight)<\/code> &#29983;&#25104;&#19968;&#20010;&#20171;&#20110; 1 &#21644;&#24635;&#26435;&#37325;&#20043;&#38388;&#30340;&#38543;&#26426;&#25968;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#35745;&#31639;&#32047;&#31215;&#27010;&#29575;<\/strong>&#65306;\n<code>cumulativeWeights<\/code> &#25968;&#32452;&#29992;&#20110;&#23384;&#20648;&#27599;&#20010;&#20135;&#21697;&#30340;&#32047;&#31215;&#27010;&#29575;&#12290;&#25105;&#20204;&#36941;&#21382;&#26435;&#37325;&#25968;&#32452;&#65292;&#35745;&#31639;&#27599;&#20010;&#20135;&#21697;&#21040;&#24635;&#26435;&#37325;&#30340;&#32047;&#31215;&#27010;&#29575;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#36873;&#25321;&#25968;&#25454;&#39033;<\/strong>&#65306;\n&#25105;&#20204;&#36941;&#21382;&#32047;&#31215;&#27010;&#29575;&#25968;&#32452;&#65292;&#25214;&#21040;&#31532;&#19968;&#20010;&#32047;&#31215;&#27010;&#29575;&#22823;&#20110;&#25110;&#31561;&#20110;&#38543;&#26426;&#25968;&#30340;&#20135;&#21697;&#65292;&#24182;&#23558;&#20854;&#20316;&#20026;&#32467;&#26524;&#36820;&#22238;&#12290;<\/p>\n<\/li>\n<\/ol>\n<h3>&#27880;&#24847;&#20107;&#39033;<\/h3>\n<ul>\n<li>&#30830;&#20445;&#26435;&#37325;&#30340;&#24635;&#21644;&#20026; 1&#65292;&#21542;&#21017;&#38543;&#26426;&#25968;&#29983;&#25104;&#21487;&#33021;&#20250;&#20986;&#29616;&#38382;&#39064;&#12290;<\/li>\n<li>&#22914;&#26524;&#25968;&#25454;&#37327;&#36739;&#22823;&#65292;&#21487;&#33021;&#38656;&#35201;&#32771;&#34385;&#24615;&#33021;&#38382;&#39064;&#65292;&#22240;&#20026;&#27599;&#27425;&#36873;&#25321;&#37117;&#38656;&#35201;&#35745;&#31639;&#32047;&#31215;&#27010;&#29575;&#12290;<\/li>\n<\/ul>\n<p>&#36890;&#36807;&#36825;&#31181;&#26041;&#24335;&#65292;&#20320;&#21487;&#20197;&#28789;&#27963;&#22320;&#22312; Eloquent &#20013;&#23454;&#29616;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#65292;&#20197;&#28385;&#36275;&#19981;&#21516;&#30340;&#38656;&#27714;&#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>&#22788;&#29702;&#25968;&#25454;&#24211;&#26597;&#35810;&#20013;&#30340;&#38543;&#26426;&#36873;&#25321;&#65292;&#23588;&#20854;&#26159;&#22312;&#20351;&#29992;Eloquent ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65289;&#26102;&#65292;&#21487;&#33021;&#20250;&#36935;&#21040;&#26576;&#20123;&#24773;&#20917;&#19979;&#24076;&#26395;&#26576;&#20123;&#35760;&#24405;&#34987;&#36873;&#20013;&#30340;&#21487;&#33021;&#24615;&#26356;&#22823;&#12290;&#36825;&#31181;&#21151;&#33021;&#34987;&#31216;&#20026;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#12290;&#22312;&#36825;&#31687;&#25991;&#31456;&#20013;&#65292;&#25105;&#20204;&#23558;&#35206;&#30422;&#22914;&#20309;&#22312;Eloquent&#20013;&#36890;&#36807;&#22810;&#20010;&#31034;&#20363;&#23454;&#29616;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#65292;&#20174;&#22522;&#30784;&#21040;&#39640;&#32423;&#29992;&#27861;&#12290;&#26368;&#21518;&#65292;&#24744;&#23558;&#20102;&#35299;&#22914;&#20309;&#19987;&#23478;&#32423;&#22320;&#25805;&#32437;Eloquent&#20197;&#26681;&#25454;&#26435;&#37325;&#26465;&#20214;&#20135;&#29983;&#25152;&#38656;&#30340;&#38543;&#26426;&#36873;&#25321;&#12290;<\/p><h2>&#29702;&#35299;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;<\/h2><p>&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#26159;&#19968;&#31181;&#32479;&#35745;&#25216;&#26415;&#65292;&#20854;&#20013;&#23545;&#19968;&#32452;&#20013;&#30340;&#27599;&#20010;&#39033;&#30446;&#20998;&#37197;&#19968;&#20010;&#26435;&#37325;&#65292;&#35813;&#26435;&#37325;&#20915;&#23450;&#20102;&#20854;&#34987;&#36873;&#20013;&#30340;&#27010;&#29575;&#12290;&#31616;&#32780;&#35328;&#20043;&#65292;&#20855;&#26377;&#36739;&#39640;&#26435;&#37325;&#30340;&#39033;&#30446;&#26377;&#26356;&#22823;&#30340;&#34987;&#36873;&#20013;&#30340;&#21487;&#33021;&#24615;&#12290;<\/p><h2>&#22522;&#26412;&#30340;&#26435;&#37325;&#36873;&#25321;&#22312;Eloquent&#20013;<\/h2><p>&#35753;&#25105;&#20204;&#20174;&#19968;&#20010;&#38750;&#24120;&#22522;&#30784;&#30340;&#20363;&#23376;&#24320;&#22987;&#12290;&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#34920;&#26684;&#12290;<code>users<\/code>&#29992;&#21015;<code>id<\/code>&#22909;&#30340;&#65292;&#35831;&#21457;&#36865;&#20320;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<code>name<\/code>&#21644;&#25105;&#26377;&#20160;&#20040;&#20107;&#24773;&#21527;&#65311;<code>weight<\/code>&#25265;&#27465;&#65292;&#25105;&#26080;&#27861;&#29702;&#35299;&#24744;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#25991;&#23383;&#25110;&#20449;&#24687;&#12290;<code>weight<\/code>&#21015;&#20915;&#23450;&#20102;&#29992;&#25143;&#34987;&#38543;&#26426;&#36873;&#20013;&#30340;&#21487;&#33021;&#24615;&#12290;<\/p><pre><code>$randomUser = User::orderByRaw('RAND() * weight')-&gt;first();\n<\/code><\/pre><p>&#36825;&#20250;&#38543;&#26426;&#19979;&#21333;&#65292;&#20294;&#26356;&#20542;&#21521;&#20110;&#37027;&#20123;&#26435;&#37325;&#26356;&#39640;&#30340;&#29992;&#25143;&#12290;<\/p><h2>&#33258;&#23450;&#20041;&#38543;&#26426;&#26435;&#37325;&#20989;&#25968;<\/h2><p>&#26377;&#26102;&#65292;&#20165;&#20165;&#20381;&#36182;&#32431;SQL&#20989;&#25968;&#21487;&#33021;&#19981;&#22815;&#65292;&#25110;&#32773;&#20320;&#24819;&#23558;&#36923;&#36753;&#23553;&#35013;&#22312;&#27169;&#22411;&#20013;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#26041;&#24335;&#20026;Eloquent&#27169;&#22411;&#28155;&#21152;&#33258;&#23450;&#20041;&#26041;&#27861;&#65306;<\/p><pre><code>class User extends Model\n{\n    public static function weightedRandom()\n    {\n        return self::orderByRaw('RAND() * weight')-&gt;first();\n    }\n}\n\n$user = User::weightedRandom();\n<\/code><\/pre><p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#25171;&#30005;&#35805;&#20102;&#12290;<code>User::weightedRandom()<\/code>&#24403;&#20320;&#38656;&#35201;&#19968;&#20010;&#21152;&#26435;&#38543;&#26426;&#29992;&#25143;&#26102;&#65292;&#35831;&#38543;&#26102;&#21578;&#35785;&#25105;&#12290;<\/p><h2>&#39640;&#32423;&#22522;&#20110;&#20851;&#31995;&#30340;&#36873;&#25321;&#22120;<\/h2><p>&#29616;&#22312;&#35753;&#25105;&#20204;&#32771;&#34385;&#19968;&#20010;&#26356;&#22797;&#26434;&#30340;&#24773;&#26223;&#65292;&#25105;&#20204;&#26377;&#19968;&#20010;<code>users<\/code>&#26700;&#23376;&#21644;&#30456;&#20851;<code>posts<\/code>&#34920;&#26684;&#12290;&#20551;&#35774;&#25105;&#20204;&#35201;&#38543;&#26426;&#36873;&#25321;&#19968;&#26465;&#24086;&#23376;&#65292;&#20294;&#21516;&#26102;&#32771;&#34385;&#27599;&#20010;&#29992;&#25143;&#30340;&#26435;&#37325;&#12290;<\/p><pre><code>class User extends Model\n{\n    public function posts()\n    {\n        return $this-&gt;hasMany(Post::class);\n    }\n}\n\nclass Post extends Model\n{\n    public function user()\n    {\n        return $this-&gt;belongsTo(User::class);\n    }\n}\n\n$post = Post::with('user')-&gt;get()-&gt;random(function ($post) {\n    return $post-&gt;user-&gt;weight;\n});\n<\/code><\/pre><p>&#36825;&#23558;&#26681;&#25454;&#24086;&#23376;&#20316;&#32773;&#30340;&#26435;&#37325;&#27604;&#20363;&#36873;&#25321;&#19968;&#20010;&#24086;&#23376;&#12290;<\/p><h2>&#22788;&#29702;&#38646;&#26435;&#37325;&#38382;&#39064;<\/h2><p>&#22312;&#26576;&#20123;&#24773;&#20917;&#19979;&#65292;&#21487;&#33021;&#20250;&#26377;&#35760;&#24405;&#30340;&#26435;&#37325;&#20026;&#38646;&#65292;&#36825;&#20123;&#35760;&#24405;&#24212;&#22312;&#31579;&#36873;&#20043;&#21069;&#25490;&#38500;&#65306;<\/p><pre><code>$nonZeroUsers = User::where('weight', '&gt;', 0)-&gt;get();\n$randomUser = $nonZeroUsers-&gt;random(function ($user) {\n    return $user-&gt;weight;\n});\n<\/code><\/pre><p>&#29616;&#22312;&#38543;&#26426;&#36873;&#25321;&#30340;&#29992;&#25143;&#21482;&#26469;&#33258;&#26435;&#37325;&#22823;&#20110;0&#30340;&#29992;&#25143;&#12290;<\/p><h2>&#20998;&#39029;&#26102;&#30340;&#21152;&#26435;&#36873;&#25321;<\/h2><p>&#26435;&#37325;&#38543;&#26426;&#36873;&#25321;&#20063;&#21487;&#20197;&#19982;&#20998;&#39029;&#32467;&#21512;&#20351;&#29992;&#12290;&#36825;&#20801;&#35768;&#24744;&#20197;&#20998;&#39029;&#30340;&#26041;&#24335;&#36820;&#22238;&#22810;&#20010;&#26435;&#37325;&#38543;&#26426;&#35760;&#24405;&#12290;&#20363;&#22914;&#65306;<\/p><pre><code>$randomUsers = User::orderByRaw('RAND() * weight')-&gt;paginate(10);\n<\/code><\/pre><p>&#36825;&#23558;&#20250;&#26174;&#31034;&#27599;&#39029;&#21313;&#26465;&#29992;&#25143;&#65292;&#20294;&#27599;&#27425;&#21047;&#26032;&#26102;&#30001;&#20110;&#38543;&#26426;&#22240;&#32032;&#65292;&#25490;&#24207;&#20250;&#19981;&#21516;&#12290;<\/p><h2>&#36890;&#36807;&#31181;&#23376;&#23454;&#29616;&#21152;&#26435;&#36873;&#25321;<\/h2><p>&#22312;&#27979;&#35797;&#36807;&#31243;&#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;Laravel&#30340;&#31181;&#23376;&#26469;&#29983;&#25104;&#24102;&#26377;&#38543;&#26426;&#37325;&#37327;&#30340;&#35760;&#24405;&#12290;&#20855;&#20307;&#20570;&#27861;&#22914;&#19979;&#65306;<\/p><pre><code>use IlluminateDatabaseSeeder;\nuse FakerFactory as Faker;\n\nclass UsersTableSeeder extends Seeder\n{\n    public function run()\n    {\n        $faker = Faker::create();\n        foreach (range(1, 50) as $index) {\n            User::create([\n                'name' =&gt; $faker-&gt;name,\n                'weight' =&gt; $faker-&gt;numberBetween(1, 100),\n            ]);\n        }\n    }\n}\n<\/code><\/pre><p>&#36825;&#20010;&#25773;&#31181;&#22120;&#23558;&#21019;&#24314;50&#21517;&#29992;&#25143;&#65292;&#20182;&#20204;&#30340;&#21517;&#23383;&#38543;&#26426;&#29983;&#25104;&#19988;&#20307;&#37325;&#22312;1&#21040;100&#20043;&#38388;&#12290;<\/p><h2>&#24615;&#33021;&#32771;&#34385;&#22240;&#32032;<\/h2><p>&#28041;&#21450;&#38543;&#26426;&#36873;&#25321;&#30340;&#26597;&#35810;&#21487;&#33021;&#20250;&#36164;&#28304;&#23494;&#38598;&#65292;&#23588;&#20854;&#26159;&#22312;&#22788;&#29702;&#22823;&#22411;&#25968;&#25454;&#38598;&#26102;&#12290;&#37325;&#35201;&#30340;&#26159;&#35201;&#32771;&#34385;&#21040;&#24615;&#33021;&#30340;&#24433;&#21709;&#24182;&#20248;&#21270;&#24744;&#30340;&#26597;&#35810;&#12290;&#22312;&#36866;&#24403;&#30340;&#24773;&#20917;&#19979;&#32771;&#34385;&#32034;&#24341;&#26435;&#37325;&#21015;&#21644;&#32531;&#23384;&#32467;&#26524;&#26159;&#22909;&#30340;&#23454;&#36341;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#22312;Eloquent&#30340;&#26435;&#37325;&#38543;&#26426;&#36873;&#25321;&#21151;&#33021;&#20013;&#65292;&#25105;&#20204;&#21487;&#20197;&#23454;&#29616;&#22810;&#31181;&#22810;&#26679;&#30340;&#26597;&#35810;&#32467;&#26524;&#65292;&#36825;&#23545;&#20110;&#35768;&#22810;&#24212;&#29992;&#31243;&#24207;&#26469;&#35828;&#33267;&#20851;&#37325;&#35201;&#12290;&#36890;&#36807;&#37319;&#29992;&#32479;&#35745;&#20294;&#23454;&#29992;&#30340;&#26041;&#27861;&#65292;&#25105;&#20204;&#21487;&#20197;&#23558;Laravel&#30340;ORM&#33021;&#21147;&#19982;SQL&#30340;&#24378;&#22823;&#24615;&#30456;&#32467;&#21512;&#65292;&#29983;&#25104;&#24102;&#26377;&#26435;&#37325;&#30340;&#38543;&#26426;&#24615;&#65292;&#20174;&#32780;&#21019;&#24314;&#26356;&#21152;&#21160;&#24577;&#12289;&#20844;&#24179;&#19988;&#26377;&#36259;&#30340;&#36873;&#25321;&#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&#65288;Object-Relational Mapping&#65289;&#26694;&#26550;&#20013;&#65292;<code>select_random()<\/code> &#26041;&#27861;&#29992;&#20110;&#20174;&#38598;&#21512;&#20013;&#38543;&#26426;&#36873;&#25321;&#19968;&#20010;&#20803;&#32032;&#12290;&#28982;&#32780;&#65292;<code>select_random()<\/code> &#19981;&#25903;&#25345;&#26435;&#37325;&#30340;&#38543;&#26426;&#36873;&#25321;&#12290;&#22914;&#26524;&#20320;&#24819;&#35201;&#23454;&#29616;&#36825;&#20010;&#21151;&#33021;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; <code>array_random()<\/code> &#26041;&#27861;&#12290;<\/p>\n<p>&#20197;&#19979;&#26159;&#22914;&#20309;&#20351;&#29992; <code>array_random()<\/code> &#26041;&#27861;&#26469;&#23454;&#29616;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#30340;&#20363;&#23376;&#65306;<\/p>\n<pre><code class=\"language-php\">$items = ['Item 1', 'Item 2', 'Item 3'];\n$weights = [0.5, 0.3, 0.2];\n\n$weighted_items = array_map(function ($item, $weight) {\n    return [$item =&gt; $weight];\n}, $items, $weights);\n\n\/\/ &#20351;&#29992; array_random() &#26041;&#27861;&#36827;&#34892;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;\n$random_item = array_random($weighted_items, 'item');\n\necho \"Random item: {$random_item['item']}\";<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#23450;&#20041;&#20102;&#20004;&#20010;&#25968;&#32452;&#65306;&#19968;&#20010;&#26159;&#39033;&#30446;&#21015;&#34920; <code>$items<\/code>&#65292;&#21478;&#19968;&#20010;&#26159;&#27599;&#20010;&#39033;&#30446;&#30340;&#26435;&#37325; <code>$weights<\/code>&#12290;&#28982;&#21518;&#65292;&#25105;&#20204;&#21019;&#24314;&#20102;&#19968;&#20010;&#26032;&#30340;&#25968;&#32452; <code>$weighted_items<\/code>&#65292;&#23427;&#21253;&#21547;&#20102;&#27599;&#20010;&#39033;&#30446;&#30340;&#26435;&#37325;&#21644;&#23545;&#24212;&#30340;&#39033;&#30446;&#21517;&#31216;&#12290;<\/p>\n<p>&#25509;&#19979;&#26469;&#65292;&#25105;&#20204;&#20351;&#29992; <code>array_random()<\/code> &#26041;&#27861;&#36827;&#34892;&#20102;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#65292;&#24182;&#23558;&#32467;&#26524;&#23384;&#20648;&#22312;&#19968;&#20010;&#21464;&#37327; <code>$random_item<\/code> &#20013;&#12290;&#26368;&#21518;&#65292;&#25105;&#20204;&#25171;&#21360;&#20986;&#38543;&#26426;&#36873;&#25321;&#30340;&#39033;&#30446;&#12290;<\/p>\n<p>&#27880;&#24847;&#65306;&#22312;&#23454;&#38469;&#24212;&#29992;&#20013;&#65292;&#20320;&#38656;&#35201;&#26681;&#25454;&#39033;&#30446;&#30340;&#23454;&#38469;&#24773;&#20917;&#35843;&#25972;&#26435;&#37325;&#20540;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#26576;&#20123;&#39033;&#30446;&#27604;&#20854;&#20182;&#39033;&#30446;&#26356;&#37325;&#35201;&#65292;&#37027;&#20040;&#21487;&#20197;&#30456;&#24212;&#22320;&#22686;&#21152;&#23427;&#20204;&#30340;&#26435;&#37325;&#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;Eloquent&#20013;&#30340;&#21152;&#26435;&#38543;&#26426;&#36873;&#25321;&#65306;&#23454;&#29992;&#25351;&#038;#21..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-971","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\/971","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=971"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=971"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=971"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}