{"id":951,"date":"2025-06-12T03:25:59","date_gmt":"2025-06-11T19:25:59","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/951.html"},"modified":"2025-06-12T03:25:59","modified_gmt":"2025-06-11T19:25:59","slug":"laravel-eloquent-orm%ef%bc%9a%e5%a6%82%e4%bd%95%e4%bf%ae%e6%94%b9%e8%a1%a8%e7%bb%93%e6%9e%84","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/951.html","title":{"rendered":"Laravel Eloquent ORM\uff1a\u5982\u4f55\u4fee\u6539\u8868\u7ed3\u6784"},"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;Laravel Eloquent ORM&#65306;&#22914;&#20309;&#20462;&#25913;&#34920;&#32467;&#26500;<\/p>\n<p>Laravel Eloquent &#26159;&#19968;&#20010;&#38750;&#24120;&#24378;&#22823;&#30340; PHP &#26694;&#26550;&#65292;&#23427;&#25552;&#20379;&#20102;&#20016;&#23500;&#30340;&#21151;&#33021;&#26469;&#31616;&#21270;&#25968;&#25454;&#24211;&#25805;&#20316;&#12290;&#28982;&#32780;&#65292;&#26377;&#26102;&#20505;&#25105;&#20204;&#38656;&#35201;&#23545;&#29616;&#26377;&#30340;&#25968;&#25454;&#24211;&#34920;&#36827;&#34892;&#19968;&#20123;&#20462;&#25913;&#65292;&#27604;&#22914;&#28155;&#21152;&#26032;&#23383;&#27573;&#12289;&#21024;&#38500;&#29616;&#26377;&#23383;&#27573;&#31561;&#12290;&#19979;&#38754;&#26159;&#22914;&#20309;&#20351;&#29992; Laravel Eloquent &#20462;&#25913;&#34920;&#32467;&#26500;&#30340;&#35814;&#32454;&#27493;&#39588;&#12290;<\/p>\n<h3>1. &#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#24050;&#32463;&#23433;&#35013;&#20102; Laravel Eloquent &#21644; Laravel 5.8 &#25110;&#26356;&#39640;&#29256;&#26412;&#12290;<\/h3>\n<pre><code class=\"language-bash\">composer require laravel\/framework<\/code><\/pre>\n<h3>2. &#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#36801;&#31227;&#25991;&#20214;&#26469;&#20462;&#25913;&#34920;&#32467;&#26500;&#12290;<\/h3>\n<p>&#39318;&#20808;&#65292;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#36801;&#31227;&#25991;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:migration add_new_column_to_users_table<\/code><\/pre>\n<p>&#28982;&#21518;&#25171;&#24320;&#29983;&#25104;&#30340;&#36801;&#31227;&#25991;&#20214; <code>database\/migrations\/xxxx_xx_xx_xxxx_create_users_table.php<\/code>&#65292;&#24182;&#32534;&#20889;&#20320;&#30340; SQL &#35821;&#21477;&#26469;&#28155;&#21152;&#26032;&#30340;&#23383;&#27573;&#12290;&#20363;&#22914;&#65292;&#20551;&#35774;&#25105;&#20204;&#35201;&#20026; <code>users<\/code> &#34920;&#28155;&#21152;&#19968;&#20010;&#21517;&#20026; <code>email_verified_at<\/code> &#30340;&#23383;&#27573;&#65292;&#24182;&#35774;&#32622;&#20854;&#40664;&#35748;&#20540;&#20026;&#24403;&#21069;&#26102;&#38388;&#25139;&#12290;<\/p>\n<pre><code class=\"language-php\">use IlluminateDatabaseMigrationsMigration;\nuse IlluminateDatabaseSchemaBlueprint;\n\nclass AddEmailVerifiedAtToUsersTable extends Migration\n{\n    \/**\n     * Run the migrations.\n     *\n     * @return void\n     *\/\n    public function up()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table-&gt;timestamp('email_verified_at')-&gt;default(CarbonCarbon::now());\n        });\n    }\n\n    \/**\n     * Reverse the migrations.\n     *\n     * @return void\n     *\/\n    public function down()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table-&gt;dropColumn('email_verified_at');\n        });\n    }\n}<\/code><\/pre>\n<h3>3. &#25191;&#34892;&#36801;&#31227;&#25991;&#20214;&#12290;<\/h3>\n<p>&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#25191;&#34892;&#36801;&#31227;&#25991;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan migrate<\/code><\/pre>\n<h3>4. &#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; Eloquent &#26469;&#35775;&#38382;&#21644;&#25805;&#20316;&#36825;&#20010;&#26032;&#30340;&#23383;&#27573;&#12290;<\/h3>\n<p>&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#26597;&#35810;&#25152;&#26377;&#29992;&#25143;&#24182;&#33719;&#21462;&#20182;&#20204;&#30340;&#30005;&#23376;&#37038;&#20214;&#39564;&#35777;&#29366;&#24577;&#65292;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-php\">$users = User::all();\nforeach ($users as $user) {\n    echo $user-&gt;email_verified_at . \"n\";\n}<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#23436;&#25972;&#30340;&#31034;&#20363;&#20195;&#30721;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#20351;&#29992; Laravel Eloquent &#36827;&#34892;&#34920;&#32467;&#26500;&#20462;&#25913;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppConsoleCommands;\n\nuse IlluminateConsoleCommand;\nuse IlluminateSupportFacadesSchema;\n\nclass ModifyUsersTable extends Command\n{\n    \/**\n     * The name and signature of the console command.\n     *\n     * @var string\n     *\/\n    protected $signature = 'modify:users-table';\n\n    \/**\n     * The console command description.\n     *\n     * @var string\n     *\/\n    protected $description = 'Modify users table by adding a new column';\n\n    \/**\n     * Create a new command instance.\n     *\n     * @return void\n     *\/\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    \/**\n     * Execute the console command.\n     *\n     * @return int\n     *\/\n    public function handle()\n    {\n        \/\/ Step 1: Create a new migration file\n        $this-&gt;call('make:migration add_new_column_to_users_table');\n\n        \/\/ Step 2: Open the generated migration file and modify the schema\n        $file = app_path('\/database\/migrations\/xxxx_xx_xx_xxxx_create_users_table.php');\n        $content = file_get_contents($file);\n        $pattern = '\/Schema::table('users', function (Blueprint $table) {';\n        $replacement = '$table-&gt;timestamp('email_verified_at')-&gt;default(CarbonCarbon::now());';\n        $updatedContent = str_replace($pattern, $replacement, $content);\n\n        \/\/ Step 3: Write the updated content back to the file\n        file_put_contents($file, $updatedContent);\n\n        \/\/ Step 4: Run the migration\n        $this-&gt;call('migrate');\n\n        return 0;\n    }\n}<\/code><\/pre>\n<p>&#36890;&#36807;&#36825;&#20123;&#27493;&#39588;&#65292;&#20320;&#21487;&#20197;&#22312; Laravel &#20013;&#36731;&#26494;&#22320;&#20462;&#25913;&#34920;&#32467;&#26500;&#12290;&#24076;&#26395;&#36825;&#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>Laravel&#30340;Eloquent ORM&#26159;&#19968;&#31181;&#24378;&#22823;&#30340;&#24037;&#20855;&#65292;&#29992;&#20110;&#20197;&#38754;&#21521;&#23545;&#35937;&#30340;&#26041;&#24335;&#19982;&#25968;&#25454;&#24211;&#20132;&#20114;&#12290;&#22312;&#24212;&#29992;&#31243;&#24207;&#24320;&#21457;&#36807;&#31243;&#20013;&#65292;&#20462;&#25913;&#25968;&#25454;&#24211;&#34920;&#32467;&#26500;&#26159;&#19968;&#39033;&#24120;&#35265;&#30340;&#20219;&#21153;&#12290;&#26412;&#25945;&#31243;&#23558;&#35752;&#35770;&#22914;&#20309;&#20351;&#29992;Laravel&#30340;&#36801;&#31227;&#21644;Eloquent&#26469;&#22788;&#29702;&#36825;&#19968;&#38382;&#39064;&#12290;&#25105;&#20204;&#23558;&#28041;&#21450;&#28155;&#21152;&#21644;&#21024;&#38500;&#21015;&#12289;&#25913;&#21464;&#21015;&#31867;&#22411;&#20197;&#21450;&#37325;&#21629;&#21517;&#34920;&#31561;&#20869;&#23481;&#12290;<\/p><p>&#20808;&#20915;&#26465;&#20214;<\/p><p>&#19968;&#20010;&#19982;&#20320;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#36830;&#25509;&#30340;&#25968;&#25454;&#24211;<\/p><p>&#23433;&#35013; Laravel<\/p><p>&#22522;&#26412;&#30340;Laravel&#30693;&#35782;&#21644;Eloquent ORM&#29702;&#35299;&#12290;<\/p><h2>&#24320;&#22987;&#20351;&#29992;&#36801;&#31227;&#65288;Migrations&#65289;<\/h2><p>&#22312;Laravel&#20013;&#65292;&#36801;&#31227;&#23601;&#20687;&#26159;&#23545;&#25968;&#25454;&#24211;&#30340;&#29256;&#26412;&#25511;&#21046;&#65292;&#20801;&#35768;&#22242;&#38431;&#20462;&#25913;&#21644;&#20849;&#20139;&#24212;&#29992;&#31243;&#24207;&#30340;&#25968;&#25454;&#24211;&#27169;&#24335;&#12290;&#22312;&#25105;&#20204;&#28145;&#20837;&#20462;&#25913;&#34920;&#20043;&#21069;&#65292;&#35831;&#30830;&#20445;&#24744;&#29087;&#24713;&#20351;&#29992;&#36801;&#31227;&#21019;&#24314;&#23427;&#20204;&#30340;&#26041;&#27861;&#12290;<code>artisan make:migration<\/code>&#21629;&#20196;&#12290;<\/p><pre><code>php artisan make:migration alter_users_table --table=users\n<\/code><\/pre><p>&#36825;&#20010;&#21629;&#20196;&#20250;&#21019;&#24314;&#19968;&#20010;&#19987;&#38376;&#29992;&#20110;&#20462;&#25913; &#8216;users&#8217; &#34920;&#30340;&#36801;&#31227;&#25991;&#20214;&#12290;&#20320;&#21487;&#20197;&#22312;&#36825;&#37324;&#25214;&#21040;&#36825;&#20010;&#25991;&#20214;&#12290;<code>database\/migrations<\/code>&#30446;&#24405;&#12290;<\/p><h2>&#28155;&#21152;&#21015;<\/h2><p>&#28155;&#21152;&#29616;&#26377;&#34920;&#20013;&#30340;&#26032;&#21015;&#22312;Laravel&#30340;&#36801;&#31227;&#20013;&#38750;&#24120;&#31616;&#21333;&#12290;&#25171;&#24320;&#29983;&#25104;&#30340;&#36801;&#31227;&#25991;&#20214;&#24182;&#20351;&#29992;&#20197;&#19979;&#20195;&#30721;&#65306;<code>Schema::table<\/code>&#26041;&#27861;&#22312;&#20869;&#37096;&#12290;<code>up<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>public function up()\n{\n    Schema::table('users', function (Blueprint $table) {\n        $table-&gt;string('nickname')-&gt;nullable();\n    });\n}\n<\/code><\/pre><p>&#29616;&#22312;&#25191;&#34892;&#36801;&#31227;&#20197;&#28155;&#21152;&#25968;&#25454;&#24211;&#20013;&#30340;&#21015;&#65306;<\/p><pre><code>php artisan migrate\n<\/code><\/pre><h2>&#21024;&#38500;&#21015;<\/h2><p>&#35201;&#21024;&#38500;&#19968;&#21015;&#65292;&#35831;&#20351;&#29992;&#12290;<code>dropColumn<\/code>&#22312;&#24744;&#30340;&#36801;&#31227;&#25991;&#20214;&#30340;down&#20989;&#25968;&#20869;&#37096;&#65306;<\/p><pre><code>public function down()\n{\n    Schema::table('users', function (Blueprint $table) {\n        $table-&gt;dropColumn('nickname');\n    });\n}\n<\/code><\/pre><p>&#22914;&#26524;&#36801;&#31227;&#35774;&#32622;&#27491;&#30830;&#65292;&#36816;&#34892;&#22238;&#28378;&#21629;&#20196;&#23558;&#20250;&#20174;&ldquo;users&rdquo;&#34920;&#20013;&#21024;&#38500;&ldquo;nickname&rdquo;&#21015;&#65306;<\/p><pre><code>php artisan migrate:rollback\n<\/code><\/pre><h2>&#26356;&#25913;&#21015;&#21517;<\/h2><p>&#20462;&#25913;&#29616;&#26377;&#21015;&#30340;&#25968;&#25454;&#31867;&#22411;&#25110;&#23646;&#24615;&#38656;&#35201;&#20351;&#29992;Doctrine DBAL&#24211;&#12290;&#21487;&#20197;&#36890;&#36807;Composer&#36827;&#34892;&#23433;&#35013;&#65306;<\/p><pre><code>composer require doctrine\/dbal\n<\/code><\/pre><p>&#23433;&#35013;&#21518;&#65292;&#20320;&#21487;&#20197;&#20687;&#36825;&#26679;&#26356;&#25913;&#36801;&#31227;&#20013;&#30340;&#21015;&#65306;<\/p><pre><code>public function up()\n{\n    Schema::table('users', function (Blueprint $table) {\n        $table-&gt;string('name', 50)-&gt;change();\n    });\n}\n<\/code><\/pre><p>&#36825;&#20010;&#31034;&#20363;&#20250;&#23558;&ldquo;name&rdquo;&#21015;&#30340;&#38271;&#24230;&#26356;&#25913;&#20026;50&#20010;&#23383;&#31526;&#12290;&#36816;&#34892;<code>php artisan migrate<\/code>&#20250;&#24212;&#29992;&#30340;&#12290;<\/p><h2>&#37325;&#21629;&#21517;&#34920;<\/h2><p>&#22914;&#26524;&#38656;&#35201;&#37325;&#21629;&#21517;&#34920;&#65292;&#20063;&#21487;&#20197;&#36890;&#36807;Laravel&#30340;&#36801;&#31227;&#26469;&#23436;&#25104;&#12290;&#20351;&#29992;<code>rename<\/code>&#22312;&#24744;&#30340;&#36801;&#31227;&#25991;&#20214;&#20013;&#65306;<\/p><pre><code>public function up()\n{\n    Schema::rename('users', 'members');\n}\n<\/code><\/pre><p>&#35201;&#36870;&#36716;&#36825;&#19968;&#34892;&#21160;&#65306;<\/p><pre><code>public function down()\n{\n    Schema::rename('members', 'users');\n}\n<\/code><\/pre><p>&#22312;&#35843;&#25972;&#36801;&#31227;&#21518;&#65292;&#36816;&#34892; migrate &#21629;&#20196;&#23558;&#20250;&#37325;&#21629;&#21517;&#34920;&#12290;<\/p><h2>&#39640;&#32423;&#20462;&#25913;<\/h2><p>&#26377;&#26102;&#65292;&#20320;&#21487;&#33021;&#38656;&#35201;&#36827;&#34892;&#26356;&#22797;&#26434;&#30340;&#26356;&#25913;&#65292;&#27604;&#22914;&#28155;&#21152;&#22806;&#38190;&#12289;&#32034;&#24341;&#25110;&#20462;&#25913;&#26522;&#20030;&#31867;&#22411;&#12290;Laravel&#30340;Blueprint&#31867;&#25552;&#20379;&#20102;&#35768;&#22810;&#26041;&#27861;&#26469;&#39640;&#25928;&#22320;&#22788;&#29702;&#36825;&#20123;&#21464;&#21270;&#12290;<\/p><h3>&#28155;&#21152;&#22806;&#38190;&#25805;&#20316;<\/h3><pre><code>public function up()\n{\n    Schema::table('posts', function (Blueprint $table) {\n        $table-&gt;unsignedBigInteger('user_id');\n        $table-&gt;foreign('user_id')-&gt;references('id')-&gt;on('users');\n    });\n}\n<\/code><\/pre><p>&#36825;&#27573;&#20195;&#30721;&#22312;&#28155;&#21152;&#20102;&#19968;&#20010;&#21517;&#20026;&ldquo;user_id&rdquo;&#30340;&#21015;&#65292;&#24182;&#23558;&#20854;&#20316;&#20026;&#22806;&#38190;&#38142;&#25509;&#21040;&ldquo;users&rdquo;&#34920;&#30340;&ldquo;id&rdquo;&#21015;&#19978;&#12290;<\/p><h3>&#28155;&#21152;&#32034;&#24341;<\/h3><pre><code>public function up()\n{\n    Schema::table('users', function (Blueprint $table) {\n        $table-&gt;index('email');\n    });\n}\n<\/code><\/pre><p>&#35813;&#21629;&#20196;&#23558;&#22312;&#8217;email&#8217;&#21015;&#19978;&#21019;&#24314;&#32034;&#24341;&#65292;&#36825;&#21487;&#33021;&#20250;&#25552;&#39640;&#30001;&#30005;&#23376;&#37038;&#20214;&#36807;&#28388;&#30340;&#26597;&#35810;&#30340;&#36895;&#24230;&#12290;<\/p><h3>&#20462;&#25913;&#26522;&#20030;&#20540;<\/h3><p>Laravel Blueprint &#19981;&#25903;&#25345;&#23545;&#26522;&#20030;&#21015;&#30340;&#20462;&#25913;&#65292;&#38656;&#35201;&#22312;&#36801;&#31227;&#25991;&#20214;&#20013;&#20351;&#29992; Raw SQL&#65306;<\/p><pre><code>public function up()\n{\n    DB::statement('ALTER TABLE products MODIFY COLUMN category ENUM(\"apparel\",\"electronics\",\"furniture\")');\n}\n<\/code><\/pre><p>&#37325;&#35201;&#30340;&#26159;&#35201;&#20180;&#32454;&#31649;&#29702;&#21644;&#27979;&#35797;&#27492;&#31867;&#26356;&#25913;&#65292;&#22240;&#20026;&#22914;&#26524;&#19981;&#27491;&#30830;&#22788;&#29702;&#21487;&#33021;&#20250;&#23548;&#33268;&#25968;&#25454;&#20002;&#22833;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#20171;&#32461;&#20102;&#20351;&#29992;Eloquent&#22312;Laravel&#20013;&#20462;&#25913;&#34920;&#30340;&#36807;&#31243;&#65292;&#21253;&#25324;&#28155;&#21152;&#12289;&#21024;&#38500;&#21644;&#26356;&#25913;&#21015;&#65292;&#20197;&#21450;&#37325;&#21629;&#21517;&#34920;&#12290;&#27492;&#22806;&#65292;&#25105;&#20204;&#36824;&#25506;&#35752;&#20102;&#19968;&#20123;&#39640;&#32423;&#30340;&#34920;&#20462;&#25913;&#22330;&#26223;&#12290;&#35831;&#21153;&#24517;&#22312;&#25191;&#34892;&#36801;&#31227;&#20043;&#21069;&#22791;&#20221;&#25968;&#25454;&#24211;&#65292;&#24182;&#22312;&#24320;&#21457;&#29615;&#22659;&#20013;&#24443;&#24213;&#27979;&#35797;&#20219;&#20309;&#27169;&#24335;&#26356;&#25913;&#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 Eloquent ORM &#26159; Laravel &#30340;&#23448;&#26041;ORM&#24211;&#65292;&#23427;&#25552;&#20379;&#20102;&#23545;&#20851;&#31995;&#22411;&#25968;&#25454;&#24211;&#65288;&#22914; MySQL&#65289;&#30340;&#31616;&#21333;&#35775;&#38382;&#12290;&#35201;&#26356;&#25913;&#34920;&#32467;&#26500;&#65292;&#25105;&#20204;&#38656;&#35201;&#20351;&#29992;Eloquent&#30340;<code>migrate()<\/code>&#26041;&#27861;&#26469;&#25191;&#34892;&#36801;&#31227;&#12290;<\/p>\n<p>&#39318;&#20808;&#65292;&#35831;&#30830;&#20445;&#23433;&#35013;&#20102;&#20197;&#19979;&#20381;&#36182;&#39033;&#65306;<\/p>\n<pre><code class=\"language-bash\">composer require laravel\/framework<\/code><\/pre>\n<p>&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#21517;&#20026; <code>users<\/code> &#30340;&#34920;&#65292;&#24182;&#19988;&#20320;&#38656;&#35201;&#22686;&#21152;&#19968;&#20010;&#26032;&#30340;&#23383;&#27573; <code>email_verified_at<\/code>&#12290;&#36825;&#20010;&#26032;&#23383;&#27573;&#23558;&#29992;&#20110;&#35760;&#24405;&#29992;&#25143;&#37038;&#31665;&#26159;&#21542;&#24050;&#39564;&#35777;&#12290;<\/p>\n<h3>1. &#39318;&#20808;&#65292;&#32534;&#36753; <code>.env.example<\/code> &#25991;&#20214;<\/h3>\n<p>&#25171;&#24320; <code>.env.example<\/code> &#25991;&#20214;&#24182;&#25214;&#21040; <code>DB_CONNECTION=mysql<\/code> &#21644; <code>DB_HOST=your_db_host<\/code> &#36825;&#20004;&#34892;&#65292;&#28982;&#21518;&#28155;&#21152;&#20197;&#19979;&#20869;&#23481;&#65306;<\/p>\n<pre><code class=\"language-php\">DB_DATABASE=your_new_database_name\nDB_USERNAME=your_username\nDB_PASSWORD=your_password<\/code><\/pre>\n<h3>2. &#20351;&#29992; artisan &#21629;&#20196;&#36816;&#34892;&#36801;&#31227;<\/h3>\n<p>&#25171;&#24320;&#32456;&#31471;&#25110;&#21629;&#20196;&#25552;&#31034;&#31526;&#65292;&#28982;&#21518;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#20197;&#21019;&#24314;&#26032;&#30340;&#36801;&#31227;&#25991;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:migration create_users_table --create-email-verified-at-field<\/code><\/pre>\n<p>&#36825;&#23558;&#22312;&#39033;&#30446;&#30340; <code>database\/migrations<\/code> &#30446;&#24405;&#19979;&#29983;&#25104;&#19968;&#20010;&#21517;&#20026; <code>up<\/code> &#30340;&#36801;&#31227;&#33050;&#26412;&#21644;&#19968;&#20010;&#21517;&#20026; <code>down<\/code> &#30340;&#25764;&#38144;&#33050;&#26412;&#12290;<code>up<\/code> &#25351;&#21521;&#25191;&#34892;&#36801;&#31227;&#30340;&#25805;&#20316;&#65292;&#32780; <code>down<\/code> &#21017;&#25351;&#23450;&#20102;&#25191;&#34892;&#25764;&#38144;&#25805;&#20316;&#12290;<\/p>\n<h3>3. &#22312;&#36801;&#31227;&#33050;&#26412;&#20013;&#28155;&#21152;&#21464;&#26356;&#35268;&#21017;<\/h3>\n<p>&#22312;&#29983;&#25104;&#30340;&#36801;&#31227;&#33050;&#26412;&#20013;&#65292;&#20320;&#21487;&#20197;&#30475;&#21040;&#19968;&#26465;&#20851;&#20110;&#28155;&#21152; <code>email_verified_at<\/code> &#23383;&#27573;&#30340;&#35821;&#21477;&#12290;&#29616;&#22312;&#65292;&#25105;&#20204;&#21487;&#20197;&#36890;&#36807;&#20462;&#25913;&#36825;&#26465;&#35821;&#21477;&#26469;&#25913;&#21464;&#23383;&#27573;&#31867;&#22411;&#25110;&#22823;&#23567;&#12290;<\/p>\n<h4>&#31034;&#20363;&#20195;&#30721;&#65306;<\/h4>\n<pre><code class=\"language-php\">public function up()\n{\n    Schema::table('users', function (Blueprint $table) {\n        $table-&gt;string('email')-&gt;unique()-&gt;after('username');\n        $table-&gt;timestamp('email_verified_at')-&gt;nullable();\n    });\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#23558;&#23383;&#27573;&#20174;&#23383;&#31526;&#20018;&#31867;&#22411; (<code>string<\/code>) &#26356;&#25913;&#20026;&#21807;&#19968;&#26631;&#35782;&#31526; (<code>unique<\/code>)&#65292;&#24182;&#23558; <code>email_verified_at<\/code> &#35774;&#32622;&#20026;&#38750;&#31354;&#12290;<\/p>\n<h4>&#27880;&#24847;&#20107;&#39033;<\/h4>\n<ul>\n<li>&#30830;&#20445;&#22312;&#25191;&#34892;&#36801;&#31227;&#20043;&#21069;&#20572;&#27490;&#26381;&#21153;&#12290;<\/li>\n<li>&#36801;&#31227;&#36890;&#24120;&#38656;&#35201;&#20960;&#20998;&#38047;&#30340;&#26102;&#38388;&#25165;&#33021;&#23436;&#25104;&#65292;&#20855;&#20307;&#21462;&#20915;&#20110;&#26381;&#21153;&#22120;&#24615;&#33021;&#12290;<\/li>\n<li>&#23433;&#35013;&#36801;&#31227;&#21518;&#65292;&#36801;&#31227;&#20250;&#33258;&#21160;&#21024;&#38500;&#26087;&#30340; <code>email_verified_at<\/code> &#23383;&#27573;&#65292;&#25152;&#20197;&#19981;&#38656;&#35201;&#25163;&#21160;&#21024;&#38500;&#12290;<\/li>\n<\/ul>\n<p>&#36890;&#36807;&#19978;&#36848;&#27493;&#39588;&#65292;&#20320;&#24050;&#32463;&#25104;&#21151;&#22320;&#20351;&#29992; Eloquent ORM &#20462;&#25913;&#20102;&#34920;&#32467;&#26500;&#12290;&#35831;&#27880;&#24847;&#65292;&#36801;&#31227;&#26159;&#25345;&#20037;&#21270;&#30340;&#65292;&#19968;&#26086;&#25191;&#34892;&#65292;&#23601;&#19981;&#33021;&#20877;&#22238;&#36864;&#21040;&#20043;&#21069;&#30340;&#29256;&#26412;&#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;Laravel Eloquent ORM&#65306;&#22914;&#20309;&#20462;&#25913;&#34920;&#32467;&#26500; Laravel Eloquent &#038;#2615..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-951","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\/951","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=951"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=951"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=951"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}