{"id":948,"date":"2025-06-12T03:23:02","date_gmt":"2025-06-11T19:23:02","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/948.html"},"modified":"2025-06-12T03:23:02","modified_gmt":"2025-06-11T19:23:02","slug":"eloquent%ef%bc%9a%e5%ae%9a%e4%b9%89%e5%b8%a6%e6%9c%89%e5%8f%af%e9%80%89-%e5%8f%af%e7%a9%ba%e5%ad%97%e6%ae%b5%e7%9a%84%e6%a8%a1%e5%9e%8b","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/948.html","title":{"rendered":"Eloquent\uff1a\u5b9a\u4e49\u5e26\u6709\u53ef\u9009\/\u53ef\u7a7a\u5b57\u6bb5\u7684\u6a21\u578b"},"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;&#20351;&#29992; Eloquent &#26694;&#26550;&#26102;&#65292;&#22914;&#26524;&#20320;&#24076;&#26395;&#22312;&#23450;&#20041;&#27169;&#22411;&#26102;&#20801;&#35768;&#26576;&#20123;&#23383;&#27573;&#20026; <code>null<\/code> &#25110;&#20026;&#31354;&#65292;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#27493;&#39588;&#26469;&#23454;&#29616;&#65306;<\/p>\n<ol>\n<li>\n<p><strong>&#23433;&#35013; Eloquent<\/strong>&#65306;\n&#22914;&#26524;&#20320;&#36824;&#27809;&#26377;&#23433;&#35013; Eloquent&#65292;&#21487;&#20197;&#20351;&#29992; Composer &#26469;&#23433;&#35013;&#65306;<\/p>\n<pre><code class=\"language-bash\">composer require illuminate\/database<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#21019;&#24314;&#27169;&#22411;<\/strong>&#65306;\n&#20351;&#29992; <code>make:model<\/code> &#21629;&#20196;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#27169;&#22411;&#31867;&#12290;&#20363;&#22914;&#65292;&#20551;&#35774;&#25105;&#20204;&#35201;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026; <code>User<\/code> &#30340;&#27169;&#22411;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:model User<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#23450;&#20041;&#27169;&#22411;&#23646;&#24615;<\/strong>&#65306;\n&#25171;&#24320;&#29983;&#25104;&#30340; <code>User.php<\/code> &#25991;&#20214;&#65292;&#24182;&#22312;&#20854;&#20013;&#23450;&#20041;&#20320;&#30340;&#27169;&#22411;&#23646;&#24615;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#22312;&#23646;&#24615;&#21069;&#21152;&#19978; <code>?<\/code> &#31526;&#21495;&#26469;&#34920;&#31034;&#36825;&#20123;&#23383;&#27573;&#26159;&#21487;&#36873;&#30340;&#25110;&#31354;&#30340;&#12290;<\/p>\n<p>&#31034;&#20363;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n   protected $fillable = ['name', 'email', 'age'];\n\n   \/\/ &#21487;&#20197;&#23558; age &#23383;&#27573;&#35774;&#32622;&#20026;&#21487;&#36873;\n   public function setAgeAttribute($value)\n   {\n       if ($value === null) {\n           $this-&gt;attributes['age'] = null;\n       } else {\n           $this-&gt;attributes['age'] = (int)$value;\n       }\n   }\n\n   \/\/ &#21487;&#20197;&#23558; email &#23383;&#27573;&#35774;&#32622;&#20026;&#21487;&#36873;\n   public function setEmailAttribute($value)\n   {\n       if ($value === null) {\n           $this-&gt;attributes['email'] = null;\n       } else {\n           $this-&gt;attributes['email'] = filter_var($value, FILTER_SANITIZE_EMAIL);\n       }\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#39564;&#35777;&#25968;&#25454;<\/strong>&#65306;\n&#20026;&#20102;&#30830;&#20445;&#22312;&#25554;&#20837;&#25110;&#26356;&#26032;&#25968;&#25454;&#26102;&#27491;&#30830;&#22788;&#29702;&#21487;&#36873;&#23383;&#27573;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; Eloquent &#30340;&#39564;&#35777;&#21151;&#33021;&#12290;&#20363;&#22914;&#65292;&#22312;&#25511;&#21046;&#22120;&#20013;&#36827;&#34892;&#39564;&#35777;&#65306;<\/p>\n<p>&#31034;&#20363;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse AppModelsUser;\nuse IlluminateHttpRequest;\nuse IlluminateSupportFacadesValidator;\n\nclass UserController extends Controller\n{\n   public function store(Request $request)\n   {\n       $validator = Validator::make($request-&gt;all(), [\n           'name' =&gt; 'required|string|max:255',\n           'email' =&gt; 'nullable|email|max:255',\n           'age' =&gt; 'nullable|int|min:0',\n       ]);\n\n       if ($validator-&gt;fails()) {\n           return response()-&gt;json(['errors' =&gt; $validator-&gt;errors()], 422);\n       }\n\n       $user = new User();\n       $user-&gt;fill($request-&gt;all());\n\n       if ($user-&gt;save()) {\n           return response()-&gt;json(['message' =&gt; 'User created successfully']);\n       } else {\n           return response()-&gt;json(['error' =&gt; 'Failed to create user'], 500);\n       }\n   }\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>&#36890;&#36807;&#36825;&#31181;&#26041;&#24335;&#65292;&#20320;&#21487;&#20197;&#28789;&#27963;&#22320;&#23450;&#20041;&#27169;&#22411;&#20013;&#30340;&#23383;&#27573;&#65292;&#24182;&#30830;&#20445;&#22312;&#25554;&#20837;&#25110;&#26356;&#26032;&#25968;&#25454;&#26102;&#33021;&#22815;&#27491;&#30830;&#22788;&#29702;&#21487;&#36873;&#23383;&#27573;&#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>Eloquent &#21644; Nullable &#23383;&#27573;&#30340;&#20171;&#32461;<\/h2><p>Laravel&#20013;&#30340;Eloquent&#26159;&#19968;&#20010;ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#22120;&#65289;&#65292;&#23427;&#31616;&#21270;&#20102;&#19982;&#25968;&#25454;&#24211;&#30340;&#20132;&#20114;&#65292;&#36890;&#36807;&#25552;&#20379;&#24037;&#20316;&#20110;&#24744;&#25968;&#25454;&#24211;&#20043;&#19978;&#30340;&#27963;&#21160;&#35760;&#24405;&#23454;&#29616;&#26041;&#24335;&#12290;&#20854;&#19968;&#20010;&#24378;&#22823;&#30340;&#29305;&#24615;&#26159;&#21487;&#20197;&#23450;&#20041;&#27169;&#22411;&#65292;&#36825;&#20123;&#27169;&#22411;&#21487;&#20197;&#21253;&#21547;&#21487;&#36873;&#25110;nullable&#23383;&#27573;&#65292;&#36825;&#24847;&#21619;&#30528;&#23427;&#20204;&#20801;&#35768;&#26377;&ldquo;null&rdquo;&#20540;&#12290;&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#32034;&#22914;&#20309;&#20351;&#29992;nullable&#23383;&#27573;&#26469;&#23450;&#20041;Eloquent&#27169;&#22411;&#65292;&#24182;&#23545;&#22312;PHP Laravel&#24212;&#29992;&#31243;&#24207;&#20013;&#19982;&#27492;&#31867;&#27169;&#22411;&#30340;&#26368;&#20339;&#23454;&#36341;&#36827;&#34892;&#25506;&#35752;&#12290;<\/p><h3>&#25968;&#25454;&#24211;&#23383;&#27573;&#30340;&#21487;&#31354;&#24615;&#29702;&#35299;<\/h3><p>&#22312;&#28145;&#20837;&#20043;&#21069;&#65292;&#37325;&#35201;&#30340;&#26159;&#35201;&#29702;&#35299;&#25968;&#25454;&#24211;&#23383;&#27573;&#20026;&#20309;&#21487;&#20197;&#20026;&#31354;&#20540;&#12290;&#19968;&#20010;&#31354;&#20540;&#23383;&#27573;&#24847;&#21619;&#30528;&#23427;&#21487;&#20197;&#26377;&#19968;&#20010;&#21517;&#20026;&ldquo;null&rdquo;&#30340;&#20540;&#65292;&#36825;&#19982;&#31354;&#23383;&#31526;&#20018;&#25110;&#38646;&#26159;&#26377;&#21306;&#21035;&#30340;&#12290;&#23427;&#20195;&#34920;&#27809;&#26377;&#20540;&#30340;&#32570;&#22833;&#12290;&#36825;&#23545;&#20110;&#35760;&#24405;&#20869;&#21253;&#21547;&#21487;&#36873;&#25968;&#25454;&#38750;&#24120;&#26377;&#29992;&#12290;<\/p><h2>&#22522;&#26412;&#27169;&#22411;&#35774;&#32622;&#65292;&#21253;&#21547;&#21487;&#31354;&#23383;&#27573;<\/h2><p>&#23450;&#20041;Eloquent&#27169;&#22411;&#20013;&#30340;&#21487;&#36873;&#23383;&#27573;&#38750;&#24120;&#31616;&#21333;&#12290;&#20197;&#19979;&#26159;&#19968;&#20010;&#22522;&#26412;&#31034;&#20363;&#65306;<\/p><pre><code>use IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n    protected $fillable = [\n        'name',\n        'email',\n        'birthdate' \/\/ this field can be nullable\n    ];\n\n    protected $dates = ['birthdate'];\n}\n<\/code><\/pre><p>&#22312;&#19978;&#36848;&#20195;&#30721;&#29255;&#27573;&#20013;&#65292;&#25105;&#20204;&#26377;&#19968;&#20010;&#21517;&#20026;&lsquo;User&rsquo;&#30340;&#27169;&#22411;&#65292;&#35813;&#27169;&#22411;&#21253;&#21547;&#19977;&#20010;&#23383;&#27573;&#65306;&lsquo;name&rsquo;&#12289;&lsquo;email&rsquo;&#21644;&lsquo;birthdate&rsquo;&#12290;&#20026;&#20102;&#20801;&#35768;&lsquo;birthdate&rsquo;&#20026;&#21487;&#36873;&#20540;&#65292;&#25105;&#20204;&#21487;&#20197;&#31616;&#21333;&#22320;&#36991;&#20813;&#20026;&#20854;&#25552;&#20379;&#40664;&#35748;&#20540;&#25110;&#23558;&#20854;&#35774;&#32622;&#20026;&lsquo;NOT NULL&rsquo;&#22312;&#25105;&#20204;&#30340;&#25968;&#25454;&#24211;&#36801;&#31227;&#20013;&#65306;<\/p><pre><code>Schema::create('users', function (Blueprint $table) {\n    $table-&gt;id();\n    $table-&gt;string('name');\n    $table-&gt;string('email')-&gt;unique();\n    $table-&gt;date('birthdate')-&gt;nullable(); \/\/ setting the field as nullable\n    $table-&gt;timestamps();\n});\n<\/code><\/pre><h3>&#22312;Eloquent&#20013;&#22788;&#29702;&#31354;&#20540;&#65288;Null Values&#65289;&#30340;&#19968;&#20123;&#26041;&#27861;&#12290;<\/h3><p>&#20197;&#19979;&#26159;&#22914;&#20309;&#21019;&#24314;&#19968;&#20010;&#26032;&#29992;&#25143;&#23454;&#20363;&#65292;&#20854;&#20013;&ldquo;birth_date&rdquo;&#23383;&#27573;&#20026;&#31354;&#65306;<\/p><pre><code>$user = new User([\n    'name' =&gt; 'John Doe',\n    'email' =&gt; '[email&nbsp;protected]',\n    \/\/ 'birthdate' is not set, which means it'll be null\n]);\n$user-&gt;save();\n<\/code><\/pre><p>&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#26126;&#30830;&#35774;&#32622;&ldquo;&#20986;&#29983;&#26085;&#26399;&rdquo;&#20026;null&#65292;&#20063;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p><pre><code>$user = User::create([\n    'name' =&gt; 'Jane Doe',\n    'email' =&gt; '[email&nbsp;protected]',\n    'birthdate' =&gt; null,\n]);\n<\/code><\/pre><h2>&#39640;&#32423;&#29992;&#20363;<\/h2><p>&#38543;&#30528;&#24744;&#30340;&#24212;&#29992;&#31243;&#24207;&#22797;&#26434;&#24230;&#30340;&#22686;&#21152;&#65292;&#24744;&#21487;&#33021;&#38656;&#35201;&#22788;&#29702;&#26356;&#39640;&#32423;&#21035;&#30340;&#21487;&#31354;&#23383;&#27573;&#31649;&#29702;&#30340;&#24773;&#20917;&#12290;&#35753;&#25105;&#20204;&#25506;&#35752;&#19968;&#19979;&#36825;&#20123;&#22330;&#26223;&#20197;&#21450;&#22914;&#20309;&#22788;&#29702;&#23427;&#20204;&#12290;<\/p><h3>&#20351;&#29992;Mutator&#21644;Accessor<\/h3><p>&#20248;&#38597;&#30340;&#27169;&#22411;&#20801;&#35768;&#24744;&#23450;&#20041;&#20462;&#39280;&#22120;&#21644;&#35775;&#38382;&#22120;&#65292;&#20197;&#33258;&#23450;&#20041;&#27169;&#22411;&#23646;&#24615;&#30340;&#26684;&#24335;&#65292;&#24403;&#35774;&#32622;&#25110;&#33719;&#21462;&#23427;&#20204;&#26102;&#12290;&#36825;&#22312;&#22788;&#29702;&#21487;&#36873;&#23383;&#27573;&#26102;&#23588;&#20854;&#26377;&#29992;&#12290;&#20363;&#22914;&#65292;&#22312;&#35774;&#32622;&ldquo;&#20986;&#29983;&#26085;&#26399;&rdquo;&#26102;&#65292;&#21363;&#20351;&#23427;&#26159;null&#65292;&#20063;&#21487;&#20197;&#36827;&#34892;&#22788;&#29702;&#65306;<\/p><pre><code>class User extends Model\n{\n    \/\/ other model properties and methods\n\n    public function setBirthdateAttribute($value)\n    {\n        $this-&gt;attributes['birthdate'] = $value ? Carbon::parse($value) : null;\n    }\n\n    public function getBirthdateAttribute($value)\n    {\n        return $value ? Carbon::parse($value)-&gt;format('Y-m-d') : null;\n    }\n}\n<\/code><\/pre><p>&#36890;&#36807;&#36825;&#20123;&#21464;&#25968;&#22120;&#21644;&#35775;&#38382;&#22120;&#65292;&#26080;&#35770;&ldquo;&#20986;&#29983;&#26085;&#26399;&rdquo;&#35774;&#32622;&#20026;&#26085;&#26399;&#36824;&#26159;&#31354;&#20540;&#65292;&#37117;&#20250;&#34987;&#22949;&#21892;&#22788;&#29702;&#12290;&#22312;&#20445;&#23384;&#29992;&#25143;&#29983;&#26085;&#26102;&#65292;&#23558;&#20854;&#36716;&#25442;&#20026;Carbon&#23454;&#20363;&#65307;&#22312;&#33719;&#21462;&#26102;&#65292;&#21017;&#26684;&#24335;&#21270;&#20026;&lsquo;Y-m-d&rsquo;&#23383;&#31526;&#20018;&#26684;&#24335;&#25110;&#20445;&#25345;&#20026;&#31354;&#20540;&#65292;&#22914;&#26524;&#26410;&#35774;&#32622;&#12290;<\/p><h3>&#22312;&#20851;&#31995;&#22788;&#29702;&#20013;&#22788;&#29702;&#31354;&#20540;<\/h3><p>&#22312;&#22788;&#29702;&#20851;&#31995;&#26102;&#65292;&#26377;&#26102;&#21487;&#20197;&#20351;&#29992;&#22806;&#38190;&#23383;&#27573;&#26469;&#34920;&#31034;&#19968;&#20010;&#21487;&#36873;&#30340;&#20851;&#31995;&#12290;&#20363;&#22914;&#65292;&#20551;&#35774;&#26377;&#19968;&#20010;&ldquo;&#20219;&#21153;&rdquo;&#65288;Task&#65289;&#19982;&#19968;&#20010;&#21487;&#36873;&#30340;&ldquo;&#29992;&#25143;&rdquo;&#65288;User&#65289;&#30456;&#20851;&#32852;&#65292;&#24182;&#19988;&#38656;&#35201;&#35880;&#24910;&#22788;&#29702;&#21253;&#21547;&#21487;&#36873;&ldquo;&#29992;&#25143;ID&rdquo;&#23383;&#27573;&#30340;&#24773;&#20917;&#65306;<\/p><pre><code>class Task extends Model\n{\n    \/\/ other model properties and methods\n\n    public function user()\n    {\n        return $this-&gt;belongsTo(User::class);\n    }\n}\n<\/code><\/pre><p>&#20026;&#20102;&#30830;&#20445;&#20851;&#31995;&#30340;&#27491;&#24120;&#36816;&#34892;&#65292;&#24744;&#24517;&#39035;&#32771;&#34385;&#21487;&#33021;&#23384;&#22312;&#26576;&#20123;&#20219;&#21153;&#30340;&ldquo;&#29992;&#25143;ID&rdquo;&#20026;null&#65292;&#36825;&#20123;&#20219;&#21153;&#23454;&#38469;&#19978;&#24182;&#27809;&#26377;&#23646;&#20110;&#20219;&#20309;&#29992;&#25143;&#12290;<\/p><h2>&#39564;&#35777;<\/h2><p>&#22312;&#23558;&#25968;&#25454;&#20445;&#23384;&#21040;&#25968;&#25454;&#24211;&#20043;&#21069;&#36827;&#34892;&#39564;&#35777;&#26159;&#38750;&#24120;&#37325;&#35201;&#30340;&#12290;&#24403;&#20320;&#22788;&#29702;&#21487;&#31354;&#23383;&#27573;&#26102;&#65292;Laravel &#25552;&#20379;&#20102;&#19968;&#20123;&#21487;&#20197;&#24212;&#29992;&#30340;&#39564;&#35777;&#35268;&#21017;&#65306;<\/p><pre><code>use IlluminateSupportFacadesValidator;\n\n$validator = Validator::make($data, [\n    'name' =&gt; 'required|string|max:255',\n    'email' =&gt; 'required|string|email|max:255|unique:users',\n    'birthdate' =&gt; 'nullable|date',\n]);\n\nif ($validator-&gt;fails()) {\n    \/\/ Handle failed validation\n}\n<\/code><\/pre><p>&#8220;nullable&#8221; &#39564;&#35777;&#35268;&#21017;&#34920;&#31034;&#23383;&#27573;&#21487;&#20197;&#35774;&#32622;&#20026; null&#65292;&#24403;&#26377;&#20540;&#26102;&#65292;&#35813;&#20540;&#24517;&#39035;&#26159;&#19968;&#20010;&#26377;&#25928;&#30340;&#26085;&#26399;&#12290;<\/p><h2>&#32467;&#35770;<\/h2><p>&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#24050;&#32463;&#20171;&#32461;&#20102;Eloquent&#27169;&#22411;&#20013;&#23450;&#20041;&#21487;&#36873;&#23383;&#27573;&#30340;&#22522;&#30784;&#30693;&#35782;&#20197;&#21450;&#19968;&#20123;&#39640;&#32423;&#22330;&#26223;&#21644;&#25968;&#25454;&#39564;&#35777;&#12290;&#29702;&#35299;Eloquent&#20013;&#30340;&#21487;&#36873;&#23383;&#27573;&#21487;&#20197;&#26174;&#33879;&#22686;&#24378;&#24744;&#30340;&#27169;&#22411;&#30340;&#28789;&#27963;&#24615;&#21644;&#20581;&#22766;&#24615;&#65292;&#20197;&#21450;&#24744;Laravel&#24212;&#29992;&#31243;&#24207;&#30340;&#25972;&#20307;&#25968;&#25454;&#24211;&#35774;&#35745;&#12290;&#35831;&#22987;&#32456;&#32771;&#34385;&#35774;&#32622;&#23383;&#27573;&#20026;null&#30340;&#24433;&#21709;&#21450;&#20854;&#19982;&#24212;&#29992;&#31243;&#24207;&#36923;&#36753;&#20132;&#20114;&#30340;&#26041;&#24335;&#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&#26694;&#26550;&#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#28155;&#21152;<code>nullable<\/code>&#23646;&#24615;&#26469;&#23450;&#20041;&#19968;&#20010;&#23383;&#27573;&#20026;&#21487;&#36873;&#25110;&#32773;&#21487;&#31354;&#12290;&#36825;&#36890;&#24120;&#29992;&#20110;&#25968;&#25454;&#24211;&#20013;&#30340;&#38750;&#24517;&#22635;&#23383;&#27573;&#12290;<\/p>\n<p>&#20363;&#22914;&#65292;&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#21517;&#20026;<code>User<\/code>&#30340;&#27169;&#22411;&#65292;&#20854;&#20013;&#21253;&#21547;<code>name<\/code>&#21644;<code>email<\/code>&#20004;&#20010;&#23383;&#27573;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\nuse IlluminateDatabaseEloquentSoftDeletes;\n\nclass User extends Model\n{\n    use SoftDeletes;\n\n    protected $fillable = [\n        'name',\n        'email'\n    ];\n\n    \/**\n     * Get the user's password.\n     *\n     * @return IlluminateContractsAuthMustVerifyPassword\n     *\/\n    public function getPassword()\n    {\n        return bcrypt($this-&gt;password);\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;<code>name<\/code>&#21644;<code>email<\/code>&#37117;&#26159;&#24517;&#39035;&#22635;&#20889;&#30340;&#23383;&#27573;&#65292;&#20294;<code>password<\/code>&#26159;&#21487;&#36873;&#30340;&#65292;&#24182;&#19988;&#40664;&#35748;&#24773;&#20917;&#19979;&#20250;&#34987;&#22635;&#20805;&#20026;&#31354;&#23383;&#31526;&#20018;&#65288;&#21363;&#19981;&#21152;&#23494;&#65289;&#12290;&#22914;&#26524;&#20320;&#24819;&#35201;&#35774;&#32622;&#36825;&#20010;&#23383;&#27573;&#20026;&#19981;&#21487;&#36873;&#65292;&#21487;&#20197;&#20687;&#36825;&#26679;&#20462;&#25913;&#23427;&#65306;<\/p>\n<pre><code class=\"language-php\">protected $guarded = ['password'];<\/code><\/pre>\n<p>&#29616;&#22312;&#65292;&#22914;&#26524;&#20320;&#23581;&#35797;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#29992;&#25143;&#23454;&#20363;&#65292;&#21363;&#20351;<code>password<\/code>&#23383;&#27573;&#20026;&#31354;&#65292;&#20063;&#20250;&#34987;&#33258;&#21160;&#22635;&#20805;&#20026;&#31354;&#23383;&#31526;&#20018;&#65306;<\/p>\n<pre><code class=\"language-bash\">$user = new User();\n$user-&gt;save(); \/\/ &#36825;&#23558;&#25104;&#21151;&#20445;&#23384;&#29992;&#25143;<\/code><\/pre>\n<p>&#22914;&#26524;&#20320;&#24819;&#21482;&#20801;&#35768;&#29992;&#25143;&#20351;&#29992;<code>password<\/code>&#23383;&#27573;&#65292;&#32780;&#19981;&#26159;&#25152;&#26377;&#23383;&#27573;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-bash\">$user = new User(['name', 'email']);\n$user-&gt;save(); \/\/ &#36825;&#23558;&#22833;&#36133;&#65292;&#22240;&#20026;`password`&#23383;&#27573;&#19981;&#20801;&#35768;&#20026;&#31354;<\/code><\/pre>\n<p>&#36825;&#23601;&#26159;&#22914;&#20309;&#22312;Eloquent&#27169;&#22411;&#20013;&#23450;&#20041;&#21487;&#36873;\/&#21487;&#31354;&#23383;&#27573;&#30340;&#26041;&#27861;&#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;&#20351;&#29992; Eloquent &#26694;&#26550;&#26102;&#65292;&#22914;&#26524;&#20320;&#24076;&#26395;&#22312;&#23450;&#20041;&#038;#..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-948","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\/948","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=948"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=948"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=948"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}