{"id":936,"date":"2025-06-12T03:07:59","date_gmt":"2025-06-11T19:07:59","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/936.html"},"modified":"2025-06-12T03:07:59","modified_gmt":"2025-06-11T19:07:59","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-laravel-%e6%9f%a5%e8%af%a2%e6%9e%84%e5%bb%ba%e5%99%a8%e4%b8%ad%e6%9b%b4%e6%96%b0-json-%e5%88%97","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/936.html","title":{"rendered":"\u5982\u4f55\u5728 Laravel \u67e5\u8be2\u6784\u5efa\u5668\u4e2d\u66f4\u65b0 JSON \u5217"},"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;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#26597;&#35810;&#26500;&#24314;&#22120;&#26469;&#26356;&#26032; JSON &#21015;&#12290;&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#21517;&#20026; <code>users<\/code> &#30340;&#34920;&#65292;&#24182;&#19988;&#20320;&#24819;&#26356;&#26032;&#26576;&#20010;&#29992;&#25143;&#30340; <code>preferences<\/code> &#23383;&#27573;&#20013;&#30340;&#26576;&#20010;&#20540;&#65292;&#21487;&#20197;&#25353;&#29031;&#20197;&#19979;&#27493;&#39588;&#36827;&#34892;&#25805;&#20316;&#12290;<\/p>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#30340;&#27169;&#22411;&#24050;&#32463;&#23450;&#20041;&#20102; <code>preferences<\/code> &#23383;&#27573;&#20026; JSON &#31867;&#22411;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppModels;\n\nuse IlluminateDatabaseEloquentModel;\n\nclass User extends Model\n{\n    protected $fillable = ['name', 'email', 'preferences'];\n\n    public function getPreferencesAttribute($value)\n    {\n        return json_decode($value, true);\n    }\n\n    public function setPreferencesAttribute($value)\n    {\n        $this-&gt;attributes['preferences'] = json_encode($value);\n    }\n}<\/code><\/pre>\n<p>&#25509;&#19979;&#26469;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#26597;&#35810;&#26500;&#24314;&#22120;&#26469;&#26356;&#26032; <code>preferences<\/code> &#23383;&#27573;&#20013;&#30340;&#26576;&#20010;&#20540;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#23558;&#29992;&#25143; <code>id<\/code> &#20026; 1 &#30340;&#29992;&#25143;&#30340; <code>preferences<\/code> &#23383;&#27573;&#30340; <code>theme<\/code> &#35774;&#32622;&#20026; &#8220;dark&#8221;&#65292;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-php\">$user = User::find(1);\n\nif ($user) {\n    $user-&gt;preferences['theme'] = 'dark';\n    $user-&gt;save();\n} else {\n    \/\/ &#22788;&#29702;&#29992;&#25143;&#19981;&#23384;&#22312;&#30340;&#24773;&#20917;\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#36890;&#36807; <code>find<\/code> &#26041;&#27861;&#33719;&#21462;&#29992;&#25143;&#23545;&#35937;&#65292;&#28982;&#21518;&#30452;&#25509;&#35775;&#38382;&#21644;&#20462;&#25913; <code>preferences<\/code> &#23383;&#27573;&#12290;&#26368;&#21518;&#65292;&#35843;&#29992; <code>save<\/code> &#26041;&#27861;&#23558;&#26356;&#25913;&#20445;&#23384;&#21040;&#25968;&#25454;&#24211;&#20013;&#12290;<\/p>\n<p>&#22914;&#26524;&#20320;&#38656;&#35201;&#26356;&#22797;&#26434;&#30340;&#36923;&#36753;&#26469;&#26356;&#26032; JSON &#23383;&#27573;&#65292;&#27604;&#22914;&#28155;&#21152;&#12289;&#21024;&#38500;&#25110;&#26367;&#25442;&#37096;&#20998;&#23383;&#27573;&#65292;&#21487;&#20197;&#20351;&#29992;&#25968;&#32452;&#25805;&#20316;&#31526;&#65288;&#22914; <code>array_push<\/code>&#12289;<code>array_pop<\/code>&#12289;<code>array_shift<\/code>&#12289;<code>array_unshift<\/code> &#31561;&#65289;&#26469;&#23454;&#29616;&#12290;<\/p>\n<p>&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#21521; <code>preferences<\/code> &#23383;&#27573;&#20013;&#28155;&#21152;&#19968;&#20010;&#26032;&#30340;&#38190;&#20540;&#23545; <code>color<\/code>&#65306;<code>'primary' =&gt; 'blue'<\/code>&#65292;&#21487;&#20197;&#36825;&#26679;&#20889;&#65306;<\/p>\n<pre><code class=\"language-php\">$user-&gt;preferences[] = ['key' =&gt; 'color', 'value' =&gt; 'blue'];\n$user-&gt;save();<\/code><\/pre>\n<p>&#24076;&#26395;&#36825;&#20123;&#31034;&#20363;&#33021;&#24110;&#21161;&#20320;&#22312; Laravel &#20013;&#26377;&#25928;&#22320;&#26356;&#26032; JSON &#21015;&#12290;&#22914;&#26524;&#20320;&#26377;&#20219;&#20309;&#38382;&#39064;&#65292;&#35831;&#38543;&#26102;&#25552;&#38382;&#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>&#22312;Laravel&#30340;&#26368;&#26032;&#29256;&#26412;&#20013;&#65292;&#22788;&#29702;JSON&#21015;&#21464;&#24471;&#38750;&#24120;&#23481;&#26131;&#65292;&#24471;&#30410;&#20110;Eloquent&#21644;&#26597;&#35810;&#26500;&#24314;&#22120;&#30340;&#24378;&#22823;&#21151;&#33021;&#12290;&#22312;&#36825;&#31687;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#35752;&#22914;&#20309;&#20351;&#29992;Laravel&#30340;&#26597;&#35810;&#26500;&#24314;&#22120;&#39640;&#25928;&#22320;&#26356;&#26032;JSON&#21015;&#30340;&#26041;&#27861;&#12290;<\/p><p>&#22312;&#28145;&#20837;&#20195;&#30721;&#31034;&#20363;&#20043;&#21069;&#65292;&#35831;&#30830;&#20445;&#24744;&#27491;&#22312;&#20351;&#29992;&#25903;&#25345;JSON&#21015;&#31867;&#22411;&#30340;&#25968;&#25454;&#24211;&#65292;&#20363;&#22914;MySQL 5.7+&#12289;PostgreSQL 9.4+&#25110;SQL Server 2016+&#12290;<\/p><p>&#20808;&#20915;&#26465;&#20214;<\/p><p>Laravel&#30340;&#26597;&#35810;&#26500;&#24314;&#22120;&#30693;&#35782;&#12290;<\/p><p>&#25903;&#25345;JSON&#21015;&#30340;&#25968;&#25454;&#24211;&#36830;&#25509;<\/p><p>&#20351;&#29992; Laravel 8.x &#25110;&#26356;&#39640;&#29256;&#26412;&#12290;<\/p><p>&#29702;&#35299;JSON&#21015;&#31867;&#22411;<\/p><p>JSON&#21015;&#20801;&#35768;&#25105;&#20204;&#22312;SQL&#25968;&#25454;&#24211;&#20869;&#37096;&#20197;&#32467;&#26500;&#21270;&#19988;&#26080;&#27169;&#24335;&#30340;&#26041;&#24335;&#23384;&#20648;&#25968;&#25454;&#12290;&#22312;Laravel&#30340;&#19978;&#19979;&#25991;&#20013;&#65292;&#36825;&#20123;&#23383;&#27573;&#21487;&#20197;&#20687;&#20854;&#20182;&#23383;&#27573;&#31867;&#22411;&#19968;&#26679;&#36827;&#34892;&#25805;&#20316;&#12290;<\/p><h2>&#26356;&#26032;&#19968;&#20010;JSON&#21015;<\/h2><p>&#39318;&#20808;&#65292;&#25105;&#20204;&#20551;&#35774;&#24744;&#24050;&#32463;&#26377;&#19968;&#20010;&#12290;<code>users<\/code>&#34920;&#26684;&#26377;&#19968;&#20010;&#21517;&#20026;&ldquo;JSON&rdquo;&#30340;&#21015;&#12290;<code>options<\/code>&#25105;&#20204;&#23558;&#28436;&#31034;&#22914;&#20309;&#26356;&#26032;&#27492;JSON&#21015;&#30340;&#21508;&#31181;&#31034;&#20363;&#12290;<\/p><h3>&#22522;&#30784;&#26356;&#26032;<\/h3><pre><code>\/\/ Using the query builder\ndb-\n-&gt;table('users')\n-&gt;where('id', 1)\n-&gt;update(['options-&gt;language' =&gt; 'en']);\n<\/code><\/pre><p>&#35813;&#29255;&#27573;&#26356;&#26032;&#20102;<code>language<\/code>&#38190;&#65288;Key&#65289;&#26159;&#25351;JSON&#21015;&#30340;&#26631;&#35782;&#31526;&#25110;&#32034;&#24341;&#65292;&#29992;&#20110;&#24555;&#36895;&#26597;&#25214;&#21644;&#35775;&#38382;JSON&#25968;&#25454;&#20013;&#30340;&#29305;&#23450;&#23383;&#27573;&#12290;&#22312;SQL&#26597;&#35810;&#20013;&#65292;&#21487;&#20197;&#20351;&#29992;SELECT&#35821;&#21477;&#32467;&#21512;WHERE&#23376;&#21477;&#26469;&#25351;&#23450;JSON&#21015;&#21450;&#20854;&#38190;&#36827;&#34892;&#31579;&#36873;&#25805;&#20316;&#12290;&#20363;&#22914;&#65306;\nSELECT * FROM table_name WHERE json_column.key = &#8216;desired_value&#8217;;\n&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;json_column &#26159;&#21253;&#21547;JSON&#25968;&#25454;&#30340;&#34920;&#30340;&#19968;&#20010;&#21015;&#65292;key &#26159;&#35813;&#21015;&#30340;&#38190;&#65292;&#32780; desired_value &#26159;&#35201;&#21305;&#37197;&#30340;&#38190;&#20540;&#12290;\n&#35831;&#27880;&#24847;&#65292;&#20855;&#20307;&#30340;&#35821;&#27861;&#21487;&#33021;&#20250;&#26681;&#25454;&#20351;&#29992;&#30340;&#25968;&#25454;&#24211;&#31995;&#32479;&#26377;&#25152;&#19981;&#21516;&#65292;&#35831;&#21442;&#32771;&#30456;&#20851;&#25991;&#26723;&#20197;&#33719;&#21462;&#20934;&#30830;&#30340;&#20449;&#24687;&#12290;<code>options<\/code>&#23545;&#20110;&#29992;&#25143;ID&#20026;1&#30340;&#29992;&#25143;&#12290;<\/p><h3>&#22686;&#21152;&#19968;&#20010;&#20540;<\/h3><pre><code>\/\/ Incrementing a value in a JSON column\ndb-\n-&gt;table('users')\n-&gt;where('id', 1)\n-&gt;update(['options-&gt;logins_count' =&gt; DB::raw('(options-&gt;\"&gt;$.logins_count\") + 1')]);\n<\/code><\/pre><p>&#36825;&#20010;&#20195;&#30721;&#23558;&#20250;&#22686;&#21152;&#12290;<code>logins_count<\/code>&#20540;&#20026;&#25351;&#23450;&#29992;&#25143;&#22686;&#21152;1&#12290;<\/p><h3>&#26356;&#26032;&#22810;&#20010;&#20540;<\/h3><pre><code>\/\/ Updating multiple values\ndb-\n-&gt;table('users')\n-&gt;where('id', 1)\n-&gt;update([\n    'options-&gt;language' =&gt; 'fr',\n    'options-&gt;timezone' =&gt; 'Europe\/Paris'\n]);\n<\/code><\/pre><p>&#36825;&#23558;&#26356;&#26032;&#20004;&#20010;&#12290;<code>language<\/code>and the<code>timezone<\/code>&#22312;JSON&#21015;&#20013;&#30340;&#38190;&#20540;&#12290;<\/p><h3>&#20351;&#29992;&#21407;&#22987;&#34920;&#36798;<\/h3><pre><code>\/\/ Using raw expressions to modify JSON\ndb-\n-&gt;table('users')\n-&gt;where('id', 1)\n-&gt;update([\n    'options' =&gt; DB::raw('json_set(options, \"$.notifications.email\", true)')\n]);\n<\/code><\/pre><p>&#36825;&#31181;&#21407;&#22987;&#30340;&#34920;&#36798;&#26041;&#24335;&#20351;&#29992;&#20102;&#12290;<code>json_set<\/code>MySQL &#20989;&#25968;&#21487;&#20197;&#30452;&#25509;&#26356;&#26032;&#23884;&#22871;&#30340;&#30005;&#23376;&#37038;&#20214;&#36890;&#30693;&#35774;&#32622;&#12290;<\/p><h3>&#22788;&#29702;JSON&#25968;&#32452;<\/h3><pre><code>\/\/ Appending to a JSON array\ndb-\n-&gt;table('users')\n-&gt;where('id', 1)\n-&gt;update([\n    'options' =&gt; DB::raw('json_array_append(options, \"$.favorite_colors\", \"blue\")')\n]);\n<\/code><\/pre><p>&#22312;&#36825;&#19968;&#29255;&#27573;&#20013;&#65292;&#25105;&#20204;&#23558;&#21521;&#21517;&#20026;&ldquo;json_array&rdquo;&#30340;JSON&#25968;&#32452;&#28155;&#21152;&#19968;&#20010;&#26032;&#20803;&#32032;&#12290;<code>favorite_colors<\/code>&#24050;&#32463;&#25910;&#21040;&#65292;&#31245;&#21518;&#22788;&#29702;&#12290;<\/p><h2>&#26368;&#20339;&#23454;&#36341;&#21644;&#32771;&#34385;&#22240;&#32032;<\/h2><p>&#22312;&#26356;&#26032;JSON&#21015;&#26102;&#65292;&#24744;&#24212;&#29282;&#35760;&#20197;&#19979;&#20960;&#39033;&#26368;&#20339;&#23454;&#36341;&#65306;<\/p><p>&#32771;&#34385;&#22312;&#23384;&#20648;&#25968;&#25454;&#20026;JSON&#26684;&#24335;&#26102;&#23545;&#32034;&#24341;&#21644;&#21487;&#25628;&#32034;&#24615;&#30340;&#24433;&#21709;&#12290;<\/p><p>&#22987;&#32456;&#39564;&#35777;&#21644;&#28165;&#29702;&#25509;&#25910;&#21040;&#30340;JSON&#25968;&#25454;&#65292;&#20197;&#38450;&#27490;SQL&#27880;&#20837;&#25110;&#25968;&#25454;&#25439;&#22351;&#31561;&#38382;&#39064;&#12290;<\/p><p>&#19981;&#35201;&#23558;&#22823;&#37327;&#25968;&#25454;&#23384;&#20648;&#22312;JSON&#21015;&#20013;&#65292;&#22240;&#20026;&#36825;&#20250;&#24433;&#21709;&#24615;&#33021;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#24050;&#32463;&#20171;&#32461;&#20102;&#20351;&#29992;Laravel&#26597;&#35810;&#26500;&#24314;&#22120;&#26356;&#26032;JSON&#21015;&#30340;&#22522;&#26412;&#27010;&#24565;&#12290;&#20174;&#31616;&#21333;&#30340;&#26356;&#26032;&#21040;&#22788;&#29702;&#25968;&#32452;&#65292;&#29616;&#22312;&#20320;&#24212;&#35813;&#23545;&#22788;&#29702;Laravel&#24212;&#29992;&#20013;&#30340;JSON&#25968;&#25454;&#26377;&#20102;&#22362;&#23454;&#30340;&#22522;&#30784;&#12290;&#35831;&#21442;&#38405;Laravel&#30340;&#25991;&#26723;&#20197;&#33719;&#21462;&#26368;&#26032;&#21487;&#29992;&#30340;&#29305;&#24449;&#21644;&#21151;&#33021;&#26469;&#24037;&#20316;&#19982;JSON&#21015;&#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;Laravel&#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;<code>IlluminateDatabaseEloquentBuilder::update()<\/code>&#26041;&#27861;&#26469;&#26356;&#26032;JSON&#21015;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#25805;&#20316;&#30340;&#31616;&#35201;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#24050;&#32463;&#23433;&#35013;&#20102;Laravel&#21644;Eloquent&#27169;&#22411;&#24211;&#12290;<\/li>\n<li>&#28982;&#21518;&#65292;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;Eloquent&#27169;&#22411;&#31867;&#65292;&#20363;&#22914;&#65306;<code>MyModel.php<\/code>&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace App;\n\nuse IlluminateDatabaseEloquentModel;\nuse JsonSerializable;\n\nclass MyModel extends Model implements JsonSerializable\n{\n    public function jsonColumn()\n    {\n        return $this-&gt;jsonColumnAttribute ?? 'my_json_column';\n    }\n}<\/code><\/pre>\n<ol start=\"3\">\n<li>\n<p>&#22312;<code>MyModel.php<\/code>&#25991;&#20214;&#20013;&#65292;&#23450;&#20041;<code>jsonColumn<\/code>&#23646;&#24615;&#24182;&#35774;&#32622;&#40664;&#35748;&#20540;&#20026;&#8217;your_default_value&#8217;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#20351;&#29992;Eloquent ORM&#26469;&#25805;&#20316;&#25968;&#25454;&#24211;&#65292;&#24182;&#23558;JSON&#21015;&#36716;&#25442;&#20026;&#23383;&#31526;&#20018;&#12290;<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"language-php\">$builder = MyModel::query();\n\n\/\/ &#26356;&#26032;&#26102;&#65292;&#38656;&#35201;&#25351;&#23450;&#30446;&#26631;ID\n$id = 1; \/\/ &#20551;&#35774;&#36825;&#26159;&#20320;&#35201;&#26356;&#26032;&#30340;&#25968;&#25454;&#34892;&#30340;&#21807;&#19968;&#26631;&#35782;&#31526;\n$builder-&gt;where('id', $id);\n\n\/\/ &#26356;&#26032;JSON&#21015;\n$builder-&gt;update([\n    $builder-&gt;jsonColumn() =&gt; json_encode(['key' =&gt; 'value']),\n]);<\/code><\/pre>\n<ol start=\"5\">\n<li>&#36816;&#34892;SQL&#35821;&#21477;&#65292;&#26681;&#25454;<code>id<\/code>&#26597;&#35810;&#25968;&#25454;&#65292;&#24182;&#26356;&#26032;<code>jsonColumn<\/code>&#23383;&#27573;&#20026;&#26032;&#30340;JSON&#26684;&#24335;&#12290;<\/li>\n<\/ol>\n<p>&#27880;&#24847;&#65306;&#36825;&#20010;&#20363;&#23376;&#20551;&#35774;&#20320;&#30340;&#34920;&#32467;&#26500;&#26159;&#36825;&#26679;&#30340;&#65306;<\/p>\n<ul>\n<li><code>id<\/code> &#26159;&#20027;&#38190;<\/li>\n<li><code>jsonColumn<\/code> &#26159;&#19968;&#20010;JSON&#21015;<\/li>\n<\/ul>\n<p>&#22914;&#26524;&#20320;&#26377;&#26356;&#22797;&#26434;&#30340;&#26597;&#35810;&#36923;&#36753;&#25110;&#32773;&#19981;&#21516;&#30340;&#34920;&#32467;&#26500;&#65292;&#35831;&#26681;&#25454;&#23454;&#38469;&#24773;&#20917;&#35843;&#25972;&#19978;&#36848;&#20195;&#30721;&#12290;<\/p>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#36890;&#36807;<code>where<\/code>&#26041;&#27861;&#33719;&#21462;ID&#20026;<code>1<\/code>&#30340;&#25968;&#25454;&#34892;&#65292;&#28982;&#21518;&#20351;&#29992;<code>update<\/code>&#26041;&#27861;&#26356;&#26032;<code>jsonColumn<\/code>&#23383;&#27573;&#20026;<code>['key' =&gt; 'value']<\/code>&#12290;&#36825;&#20250;&#25226;&#21407;&#22987;&#30340;JSON&#23545;&#35937;&#36716;&#25442;&#25104;JSON&#23383;&#31526;&#20018;&#65292;&#28982;&#21518;&#20877;&#25554;&#20837;&#21040;&#25968;&#25454;&#24211;&#20013;&#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; Laravel &#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#26597;&#35810;&#26500;&#24314;&#22120;&#26469;&#26356;&#038;#2..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-936","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\/936","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=936"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=936"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=936"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}