{"id":1020,"date":"2025-06-12T05:01:03","date_gmt":"2025-06-11T21:01:03","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/1020.html"},"modified":"2025-06-12T05:01:03","modified_gmt":"2025-06-11T21:01:03","slug":"laravel-eloquent%ef%bc%9a%e5%a6%82%e6%9e%9c%e6%89%be%e4%b8%8d%e5%88%b0%e8%ae%b0%e5%bd%95%ef%bc%8c%e8%bf%94%e5%9b%9e%e4%b8%80%e4%b8%aa%e5%a4%87%e7%94%a8-%e9%bb%98%e8%ae%a4%e5%80%bc","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/1020.html","title":{"rendered":"Laravel Eloquent\uff1a\u5982\u679c\u627e\u4e0d\u5230\u8bb0\u5f55\uff0c\u8fd4\u56de\u4e00\u4e2a\u5907\u7528\/\u9ed8\u8ba4\u503c"},"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; Laravel &#20013;&#20351;&#29992; Eloquent &#27169;&#22411;&#26102;&#65292;&#22914;&#26524;&#20320;&#24076;&#26395;&#22312;&#26597;&#25214;&#35760;&#24405;&#22833;&#36133;&#26102;&#36820;&#22238;&#19968;&#20010;&#22791;&#29992;\/&#40664;&#35748;&#20540;&#65292;&#21487;&#20197;&#20351;&#29992; <code>firstOrCreate<\/code> &#26041;&#27861;&#12290;&#36825;&#20010;&#26041;&#27861;&#20250;&#26816;&#26597;&#27169;&#22411;&#26159;&#21542;&#23384;&#22312;&#65292;&#22914;&#26524;&#19981;&#23384;&#22312;&#21017;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#35760;&#24405;&#65292;&#24182;&#36820;&#22238;&#35813;&#35760;&#24405;&#12290;<\/p>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#31034;&#20363;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">use AppModelsYourModel;\n\n\/\/ &#31034;&#20363;&#25968;&#25454;\n$data = [\n    'name' =&gt; 'John Doe',\n    'email' =&gt; 'john.doe@example.com'\n];\n\n\/\/ &#26597;&#25214;&#25110;&#21019;&#24314;&#35760;&#24405;\n$record = YourModel::firstOrCreate($data, ['name' =&gt; 'John Doe']);\n\n\/\/ &#25171;&#21360;&#32467;&#26524;\necho $record-&gt;id; \/\/ &#22914;&#26524;&#23384;&#22312;&#65292;&#21017;&#25171;&#21360; ID&#65307;&#22914;&#26524;&#19981;&#23384;&#22312;&#65292;&#21017;&#21019;&#24314;&#24182;&#25171;&#21360; ID<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#31034;&#20363;&#20013;&#65292;<code>firstOrCreate<\/code> &#26041;&#27861;&#30340;&#31532;&#19968;&#20010;&#21442;&#25968;&#26159;&#20320;&#35201;&#26597;&#35810;&#30340;&#25968;&#25454;&#25968;&#32452;&#65292;&#31532;&#20108;&#20010;&#21442;&#25968;&#26159;&#22791;&#29992;&#30340;&#21015;&#21644;&#23427;&#20204;&#30340;&#20540;&#12290;&#22914;&#26524;&#35760;&#24405;&#23384;&#22312;&#65292;&#21017;&#36820;&#22238;&#35813;&#35760;&#24405;&#65307;&#22914;&#26524;&#19981;&#23384;&#22312;&#65292;&#21017;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#35760;&#24405;&#24182;&#36820;&#22238;&#35813;&#35760;&#24405;&#12290;<\/p>\n<p>&#20320;&#21487;&#20197;&#26681;&#25454;&#38656;&#35201;&#20462;&#25913;&#22791;&#29992;&#30340;&#21015;&#21644;&#23427;&#20204;&#30340;&#20540;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24076;&#26395;&#36820;&#22238;&#19968;&#20010;&#31354;&#23383;&#31526;&#20018;&#32780;&#19981;&#26159;&#40664;&#35748;&#20540;&#65292;&#21487;&#20197;&#22312;&#31532;&#20108;&#20010;&#21442;&#25968;&#20013;&#28155;&#21152;&#31354;&#23383;&#31526;&#20018;&#65306;<\/p>\n<pre><code class=\"language-php\">$record = YourModel::firstOrCreate($data, ['name' =&gt; '', 'email' =&gt; '']);<\/code><\/pre>\n<p>&#36825;&#26679;&#65292;&#21363;&#20351;&#35760;&#24405;&#19981;&#23384;&#22312;&#65292;&#20063;&#19981;&#20250;&#36820;&#22238;&#40664;&#35748;&#20540;&#65292;&#32780;&#26159;&#36820;&#22238;&#19968;&#20010;&#31354;&#23383;&#31526;&#20018;&#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&#30340;Eloquent ORM&#25552;&#20379;&#20102;&#19968;&#20010;&#20248;&#38597;&#19988;&#26131;&#20110;&#29702;&#35299;&#30340;&#25509;&#21475;&#26469;&#19982;&#25968;&#25454;&#24211;&#20132;&#20114;&#12290;&#20351;&#29992;Laravel&#30340;&#24320;&#21457;&#20154;&#21592;&#21487;&#33021;&#20250;&#21457;&#29616;&#65292;&#24403;&#36935;&#21040;&#32570;&#23569;&#35760;&#24405;&#38169;&#35823;&#26102;&#65292;&#20182;&#20204;&#30340;&#24037;&#20316;&#27969;&#31243;&#21487;&#20197;&#21464;&#24471;&#30456;&#24403;&#39034;&#30021;&#12290;&#22312;&#35768;&#22810;&#24773;&#20917;&#19979;&#65292;&#20026;&#26410;&#25214;&#21040;&#30340;&#35760;&#24405;&#25552;&#20379;&#22791;&#29992;&#25110;&#40664;&#35748;&#20540;&#26159;&#32500;&#25252;&#24212;&#29992;&#31243;&#24207;&#27969;&#21644;&#29992;&#25143;&#20307;&#39564;&#30340;&#37325;&#35201;&#27493;&#39588;&#12290;&#26412;&#25945;&#31243;&#23558;&#25351;&#23548;&#24744;&#22914;&#20309;&#20174;Eloquent&#26597;&#35810;&#20013;&#36820;&#22238;&#22791;&#29992;&#20540;&#30340;&#21508;&#31181;&#26041;&#27861;&#12290;<\/p><h2>&#40664;&#35748;&#30340;eloquent&#34892;&#20026;<\/h2><p>&#40664;&#35748;&#24773;&#20917;&#19979;&#65292;&#24403;&#20320;&#23581;&#35797;&#36890;&#36807;&#20351;&#29992;SQL&#35821;&#21477;&#26816;&#32034;&#19981;&#23384;&#22312;&#30340;&#35760;&#24405;&#26102;&#65292;&#25968;&#25454;&#24211;&#20250;&#36820;&#22238;&#19968;&#20010;&#38169;&#35823;&#20449;&#24687;&#65292;&#25351;&#31034;&#35813;&#35760;&#24405;&#26410;&#25214;&#21040;&#12290;<code>findOrFail<\/code>&#26041;&#27861;&#65292;Laravel &#23558;&#25243;&#20986;&#19968;&#20010;<code>ModelNotFoundException<\/code>&#21487;&#20197;&#25429;&#33719;&#21644;&#22788;&#29702;&#30340;&#65306;<\/p><pre><code>$user = User::findOrFail($id);\n\/\/ If the user with the provided ID does not exist, a ModelNotFoundException is thrown.<\/code><\/pre><h2>&#20351;&#29992; first_or_new &#21644; first_or_none &#26159; Django ORM &#20013;&#29992;&#20110;&#22788;&#29702;&#25968;&#25454;&#24211;&#26597;&#35810;&#30340;&#24120;&#29992;&#26041;&#27861;&#12290;&#23427;&#20204;&#20998;&#21035;&#36820;&#22238;&#19968;&#20010;&#23545;&#35937;&#25110; None&#65292;&#20855;&#20307;&#21462;&#20915;&#20110;&#26159;&#21542;&#24050;&#32463;&#23384;&#22312;&#30456;&#21516;&#25968;&#25454;&#30340;&#35760;&#24405;&#12290;\n\nfirst_or_new: &#22914;&#26524;&#34920;&#20013;&#26377;&#30456;&#21516;&#30340;&#25968;&#25454;&#65292;&#21017;&#36820;&#22238;&#35813;&#35760;&#24405;&#65307;&#22914;&#26524;&#19981;&#23384;&#22312;&#65292;&#21017;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#35760;&#24405;&#12290;\n\nfirst_or_none: &#21516;&#26679;&#26816;&#26597;&#26159;&#21542;&#23384;&#22312;&#30456;&#21516;&#30340;&#25968;&#25454;&#65292;&#20294;&#36820;&#22238;&#30340;&#26159; None &#32780;&#19981;&#26159;&#19968;&#20010;&#23545;&#35937;&#12290;\n\n&#36825;&#20004;&#31181;&#26041;&#27861;&#36890;&#24120;&#22312;&#38656;&#35201;&#30830;&#20445;&#21807;&#19968;&#24615;&#32422;&#26463;&#30340;&#24773;&#20917;&#19979;&#20351;&#29992;&#65292;&#20197;&#36991;&#20813;&#37325;&#22797;&#25554;&#20837;&#30456;&#21516;&#30340;&#35760;&#24405;&#12290;<\/h2><p>&#23545;&#19981;&#36215;&#65292;&#24744;&#30340;&#38382;&#39064;&#19981;&#23436;&#25972;&#65292;&#35831;&#25552;&#20379;&#26356;&#22810;&#20449;&#24687;&#12290;<code>firstOrNew<\/code>and &#26159;&ldquo;&#21644;&rdquo;&#30340;&#25340;&#38899;&#65292;&#29992;&#27861;&#19982;&#33521;&#25991;&#30340; and &#30456;&#21516;&#65292;&#34920;&#31034;&#24182;&#21015;&#20851;&#31995;&#25110;&#36830;&#25509;&#20004;&#20010;&#29420;&#31435;&#30340;&#37096;&#20998;&#12290;<code>firstOrCreate<\/code>&#26041;&#27861;&#22312;&#38656;&#35201;&#22791;&#36873;&#20540;&#26102;&#38750;&#24120;&#26377;&#29992;&#65306;<\/p><pre><code>\/\/ Using firstOrNew\n$user = User::where('email', $email)-&gt;firstOrNew([]);\n\/\/ If the user is not found, a new instance of the User model is returned without saving it.<\/code><\/pre><p>&#23545;&#19981;&#36215;&#65292;&#24744;&#30340;&#28040;&#24687;&#19981;&#23436;&#25972;&#65292;&#26080;&#27861;&#29702;&#35299;&#24744;&#35201;&#34920;&#36798;&#30340;&#20869;&#23481;&#12290;&#24744;&#21487;&#20197;&#25552;&#20379;&#26356;&#22810;&#30340;&#20449;&#24687;&#21527;&#65311;<code>firstOrCreate<\/code>&#35813;&#26041;&#27861;&#30340;&#24037;&#20316;&#26041;&#24335;&#31867;&#20284;&#65292;&#20294;&#20250;&#20445;&#23384;&#22914;&#26524;&#26597;&#25214;&#32467;&#26524;&#27809;&#26377;&#35760;&#24405;&#30340;&#26032;&#24314;&#27169;&#22411;&#65306;<\/p><pre><code>\/\/ Using firstOrCreate\n$user = User::firstOrCreate(['email' =&gt; $email], ['name' =&gt; 'Default Name']);\n\/\/ If the user is not found, a new instance is saved with the provided default values.<\/code><\/pre><h2>&#20351;&#29992; findOrFail &#19982;&#33258;&#23450;&#20041;&#34917;&#19969;<\/h2><p>&#26377;&#26102;&#20320;&#38656;&#35201;&#30452;&#25509;&#22788;&#29702;&#24322;&#24120;&#24182;&#36820;&#22238;&#33258;&#23450;&#20041;&#30340;&#22791;&#29992;&#20540;&#65306;<\/p><pre><code>try {\n    $user = User::findOrFail($id);\n} catch (ModelNotFoundException $e) {\n    $user = new User(['name' =&gt; 'Default Name']);\n    \/\/ Return the user instance with default values\n}<\/code><\/pre><h2>&#20351;&#29992;COALESCE&#20989;&#25968;<\/h2><p>&#21478;&#19968;&#20010;&#39640;&#32423;&#25216;&#26415;&#26159;&#20351;&#29992;&#22914;RAW SQL&#20989;&#25968;&#30340;&#39640;&#32423;&#21151;&#33021;&#12290;<code>COALESCE<\/code>&#22312;&#20320;&#30340;Eloquent&#26597;&#35810;&#20013;&#35774;&#32622;&#29305;&#23450;&#21015;&#30340;&#40664;&#35748;&#20540;&#12290;&#36825;&#23545;&#20110;&#35835;&#21462;&#25805;&#20316;&#29305;&#21035;&#26377;&#29992;&#65292;&#22240;&#20026;&#24403;&#20320;&#19981;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#35760;&#24405;&#26102;&#65292;&#20320;&#36890;&#24120;&#19981;&#24819;&#21019;&#24314;&#23427;&#65306;<\/p><pre><code>$name = User::select(DB::raw('COALESCE(name, \"Default Name\") as name'))\n    -&gt;where('id', $id)\n    -&gt;pluck('name')\n    -&gt;first();<\/code><\/pre><h2>&#21019;&#24314;&#33258;&#23450;&#20041;&#30340;&#22791;&#29992;&#26041;&#26696;<\/h2><p>&#20026;&#20102;&#20351;&#29992;&#21487;&#37325;&#29992;&#30340;&#22238;&#36864;&#36923;&#36753;&#65292;&#21487;&#20197;&#22312;&#20320;&#30340;Eloquent&#27169;&#22411;&#20013;&#23450;&#20041;&#33258;&#23450;&#20041;&#20316;&#29992;&#22495;&#65306;<\/p><pre><code>class User extends Model\n{\n    public function scopeWithFallback($query)\n    {\n        return $query-&gt;select(DB::raw('COALESCE(name, \"Default Name\") as name'));\n    }\n}\n\n$name = User::withFallback()-&gt;where('id', $id)-&gt;pluck('name')-&gt;first();<\/code><\/pre><h2>&#20351;&#29992;&#39640;&#32423;&#28040;&#24687;&#20256;&#36882;<\/h2><p>&#22312; Laravel 5.4 &#20013;&#24341;&#20837;&#20102;&#26356;&#39640;&#38454;&#30340;&#28040;&#24687;&#22788;&#29702;&#65292;&#21487;&#20197;&#29992;&#26469;&#28165;&#29702;&#21518;&#22791;&#36873;&#39033;&#65306;<\/p><pre><code>$user = User::where('id', $id)-&gt;firstOr(fn() =&gt; new User(['name' =&gt; 'Default Name']));<\/code><\/pre><p>&#36825;&#20010;&#20195;&#30721;&#23558;&#20250;&#23581;&#35797;&#25214;&#21040;&#20855;&#26377;&#32473;&#23450;ID&#30340;&#29992;&#25143;&#12290;<code>$id<\/code>&#22914;&#26524;&#25214;&#19981;&#21040;&#29992;&#25143;&#65292;&#37027;&#20040;&#36825;&#27573;&#35805;&#30340;&#24847;&#24605;&#23601;&#26159;&#65306;&#22914;&#26524;&#27809;&#26377;&#25214;&#21040;&#29992;&#25143;&#65292;&#37027;&#20040;&#36825;&#21477;&#35805;&#30340;&#24847;&#24605;&#23601;&#26159;&#65306;&ldquo;If no user is found, the&rdquo;<code>firstOr<\/code>&#26041;&#27861;&#20250;&#35843;&#29992;&#32473;&#23450;&#30340;&#38381;&#21253;&#65292;&#35813;&#38381;&#21253;&#25552;&#20379;&#20102;&#19968;&#20010;&#40664;&#35748;&#30340;&#29992;&#25143;&#23454;&#20363;&#12290;<\/p><h2>&#20351;&#29992;&#23439;&#25193;&#23637;Eloquent<\/h2><p>&#20320;&#36824;&#21487;&#20197;&#23450;&#20041;&#23439;&#26469;&#20026;Eloquent&#26500;&#24314;&#22120;&#28155;&#21152;&#33258;&#23450;&#20041;&#21151;&#33021;&#65292;&#36825;&#26679;&#21487;&#20197;&#26041;&#20415;&#22320;&#21253;&#21547;&#22791;&#29992;&#26426;&#21046;&#65306;<\/p><pre><code>Builder::macro('firstOrNewFallback', function (...$params) {\n    return $this-&gt;firstOr(...$params, fn() =&gt; new User);\n});\n\n$user = User::where('email', $email)-&gt;firstOrNewFallback([], ['name' =&gt; 'Default Name']);<\/code><\/pre><p>&#35813;&#23439;&#23558;&#20801;&#35768;&#24744;&#25552;&#20379;&#19968;&#20010;&#38381;&#21253;&#26469;&#30830;&#23450;&#22791;&#29992;&#34892;&#20026;&#30340;&#23454;&#29616;&#26041;&#24335;&#12290;<code>firstOrNewFallback<\/code>&#21628;&#21483;&#12290;<\/p><h2>&#32467;&#35770;<\/h2><p>&#22312;&#26412;&#25945;&#31243;&#30340;&#25972;&#20010;&#36807;&#31243;&#20013;&#65292;&#25105;&#20204;&#24050;&#32463;&#25506;&#35752;&#20102;&#22810;&#31181;&#30830;&#20445;Laravel Eloquent&#26597;&#35810;&#36820;&#22238;&#40664;&#35748;&#20540;&#30340;&#26041;&#27861;&#65292;&#26080;&#35770;&#35760;&#24405;&#26159;&#21542;&#23384;&#22312;&#19982;&#21542;&#12290;&#26080;&#35770;&#26159;&#21021;&#23398;&#32773;&#36824;&#26159;&#39640;&#32423;&#29992;&#25143;&#65292;&#36825;&#31181;&#30693;&#35782;&#37117;&#23558;&#24110;&#21161;&#24744;&#32534;&#20889;&#26356;&#21152;&#20581;&#22766;&#30340;&#24212;&#29992;&#31243;&#24207;&#65292;&#24182;&#20248;&#38597;&#22320;&#22788;&#29702;&#32570;&#22833;&#25968;&#25454;&#24773;&#20917;&#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;&#20013;&#30340;&#19968;&#31181;ORM&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65289;&#23454;&#29616;&#26041;&#24335;&#65292;&#23427;&#20801;&#35768;&#25105;&#20204;&#20351;&#29992;PHP&#30340;&#31867;&#21644;&#26041;&#27861;&#26469;&#25805;&#20316;&#25968;&#25454;&#24211;&#12290;&#22312;&#36825;&#20010;&#22330;&#26223;&#20013;&#65292;&#25105;&#20204;&#38656;&#35201;&#22788;&#29702;&#30340;&#24773;&#20917;&#26159;&#22312;&#26597;&#35810;&#26102;&#25214;&#19981;&#21040;&#25351;&#23450;&#30340;&#35760;&#24405;&#65292;&#36825;&#26102;&#25105;&#20204;&#38656;&#35201;&#36820;&#22238;&#19968;&#20010;&#22791;&#29992;\/&#40664;&#35748;&#20540;&#12290;<\/p>\n<h3>&#20351;&#29992;Eloquent&#26597;&#35810;<\/h3>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#21517;&#20026;<code>User<\/code>&#30340;&#27169;&#22411;&#65292;&#35813;&#27169;&#22411;&#26377;&#19968;&#20010;&#23646;&#24615;<code>name<\/code>&#65292;&#25105;&#20204;&#38656;&#35201;&#26681;&#25454;&#36825;&#20010;&#26465;&#20214;&#26597;&#25214;&#29992;&#25143;&#65306;<\/p>\n<pre><code class=\"language-php\">$user = User::where('name', 'John')-&gt;first();<\/code><\/pre>\n<p>&#36825;&#37324;&#65292;<code>User::where('name', 'John')<\/code>&#34920;&#31034;&#26681;&#25454;<code>name<\/code>&#20026;&#8217;John&#8217;&#30340;&#26465;&#20214;&#36827;&#34892;&#26597;&#35810;&#12290;<\/p>\n<h3>&#22788;&#29702;&#25214;&#19981;&#21040;&#35760;&#24405;&#30340;&#24773;&#20917;<\/h3>\n<p>&#22914;&#26524;&#25105;&#20204;&#24819;&#35201;&#22312;&#25214;&#19981;&#21040;&#35760;&#24405;&#26102;&#36820;&#22238;&#19968;&#20010;&#40664;&#35748;&#20540;&#65292;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-php\">$user = User::where('name', 'John')-&gt;first();\n\nif (!$user) {\n    $defaultName = 'Unknown';\n    return response()-&gt;json(['message' =&gt; \"User not found\", 'name' =&gt; $defaultName], 404);\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#27573;&#20195;&#30721;&#20013;&#65306;<\/p>\n<ul>\n<li>&#25105;&#20204;&#39318;&#20808;&#23581;&#35797;&#36890;&#36807;<code>name<\/code>&#25214;&#21040;&#29992;&#25143;&#12290;<\/li>\n<li>&#22914;&#26524;&#27809;&#26377;&#25214;&#21040;&#65292;&#25105;&#20204;&#23601;&#26816;&#26597;&#26159;&#21542;&#26377;<code>$defaultName<\/code>&#21464;&#37327;&#23384;&#22312;&#65292;&#24182;&#23558;&#23427;&#36171;&#20540;&#32473;<code>$user<\/code>&#12290;<\/li>\n<li>&#26368;&#21518;&#65292;&#25105;&#20204;&#36820;&#22238;&#19968;&#20010;JSON&#21709;&#24212;&#65292;&#20854;&#20013;&#21253;&#21547;&#28040;&#24687;&#21644;&#26410;&#25214;&#21040;&#30340;&#21517;&#31216;&#12290;<\/li>\n<\/ul>\n<h3>&#31034;&#20363;&#20195;&#30721;&#20013;&#30340;&#20855;&#20307;&#23454;&#29616;&#32454;&#33410;<\/h3>\n<p>&#22914;&#26524;&#20320;&#27491;&#22312;&#20351;&#29992;&#30340;&#26159;Laravel 5.7&#21450;&#20854;&#20197;&#19978;&#29256;&#26412;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#20462;&#25913;&#19978;&#36848;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateSupportFacadesHttp;\nuse IlluminateSupportFacadesValidator;\n\n\/\/ &#20551;&#35774;&#25105;&#20204;&#30340;&#40664;&#35748;&#20540;&#23384;&#20648;&#22312;&#19968;&#20010;&#25968;&#32452;&#20013;\n$defaultNames = ['Alice', 'Bob'];\n\n\/\/ &#33719;&#21462;&#35831;&#27714;&#21442;&#25968;\n$requestParams = request()-&gt;all();\n\n\/\/ &#39564;&#35777;&#36755;&#20837;&#26159;&#21542;&#27491;&#30830;\n$validator = Validator::make($requestParams, [\n    'search' =&gt; 'required|string',\n]);\n\nif ($validator-&gt;fails()) {\n    \/\/ &#22914;&#26524;&#39564;&#35777;&#22833;&#36133;&#65292;&#36820;&#22238;&#38169;&#35823;&#20449;&#24687;\n    return response()-&gt;json([\n        'error' =&gt; true,\n        'message' =&gt; $validator-&gt;errors(),\n    ], 422);\n}\n\n$search = $requestParams['search'];\n$users = Http::get('\/api\/users\/search?name=' . $search)\n            -&gt;then(function ($response) use ($defaultNames) {\n                if ($response-&gt;successful()) {\n                    foreach ($response-&gt;getData() as $user) {\n                        array_push($defaultNames, $user-&gt;name);\n                    }\n                } else {\n                    return false;\n                }\n\n                return $defaultNames;\n            });\n\nreturn response()-&gt;json([\n    'status' =&gt; 'success',\n    'message' =&gt; 'Search results.',\n    'data' =&gt; $users ? $users : $defaultNames,\n]);<\/code><\/pre>\n<p>&#36825;&#27573;&#20195;&#30721;&#39318;&#20808;&#20174;HTTP&#23458;&#25143;&#31471;&#33719;&#21462;&#19982;&#25628;&#32034;&#21305;&#37197;&#30340;&#29992;&#25143;&#25968;&#25454;&#65292;&#28982;&#21518;&#23558;&#32467;&#26524;&#20445;&#23384;&#21040;&#25968;&#32452;&#20013;&#65292;&#26368;&#21518;&#23558;&#20854;&#36716;&#25442;&#20026;JSON&#24182;&#36820;&#22238;&#12290;<\/p>\n<h3>&#27880;&#24847;&#20107;&#39033;<\/h3>\n<ul>\n<li>&#22312;&#23454;&#38469;&#24212;&#29992;&#20013;&#65292;&#20320;&#38656;&#35201;&#30830;&#20445;<code>Http::get()<\/code>&#35843;&#29992;&#25104;&#21151;&#36820;&#22238;&#20102;&#27491;&#30830;&#30340;&#25968;&#25454;&#12290;<\/li>\n<li>&#30830;&#20445;&#20320;&#30340;URL&#36335;&#24452;&#31526;&#21512;API&#35268;&#33539;&#65292;&#24182;&#19988;&#27491;&#30830;&#22320;&#20256;&#36882;&#20102;&#25152;&#38656;&#30340;&#21442;&#25968;&#12290;<\/li>\n<li>&#36825;&#20010;&#20363;&#23376;&#20013;&#30340;<code>$defaultNames<\/code>&#21482;&#26159;&#19968;&#20010;&#31034;&#20363;&#65292;&#23454;&#38469;&#24212;&#29992;&#20013;&#24212;&#35813;&#20351;&#29992;&#26356;&#20855;&#20307;&#30340;&#20540;&#12290;<\/li>\n<\/ul>\n<p>&#24076;&#26395;&#36825;&#20123;&#20449;&#24687;&#33021;&#24110;&#21161;&#24744;&#26356;&#22909;&#22320;&#29702;&#35299;&#21644;&#20351;&#29992;Eloquent ORM&#12290;&#22914;&#26524;&#24744;&#26377;&#20219;&#20309;&#30097;&#38382;&#65292;&#35831;&#38543;&#26102;&#25552;&#38382;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312; Laravel &#20013;&#20351;&#29992; Eloquent &#27169;&#22411;&#26102;&#65292;&#22914;&#26524;&#20320;&#24076;&#26395;&#22312;&#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-1020","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\/1020","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=1020"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=1020"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=1020"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=1020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}