为了账号安全,请及时绑定邮箱和手机立即绑定

json encode store data in db with doubleqoutes

json encode store data in db with doubleqoutes

PHP
慕的地6264312 2023-03-04 16:16:15
我使用 PHP/MySQL。我的问题是当我使用 json_encode PHP 存储数据时,我使用双引号 ("") 获取数据。我的控制器:$description['content'] = $request->content;    $description['location'] = $request->location;    $description['area'] = $request->area;    $id = Auth::id();    $property = new Property();    $property->user_id = $id;    $property->title = $request->title;    $property->description = json_encode($description);    $property->status = 0;    $property->due_date = $request->due_date;    $property->save();数据输入数据库"{"content":"lorem ipsum sit dolor amet","location":"sby","area":"2"}"我期望的,就像这样没有双引号:{"content":"lorem ipsum sit dolor amet","location":"sby","area":"2"}我的错在哪里。谢谢
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

正如在您的评论中,您说“在 mysql 中我将 json 数据类型”设置为description字段,将其投射到您的模型中并且不要使用 json_encode 来保存它。

数组和 JSON 转换

在处理存储为序列化 JSON 的列时,数组转换类型特别有用。例如,如果你的数据库有一个包含 serialized 的JSONorTEXT字段类型,当你在 Eloquent 模型上访问它时,JSON将数组转换添加到该属性将自动将该属性反序列化为 a :PHP array

class Property extends Model

{

    /**

     * The attributes that should be cast.

     *

     * @var array

     */

    protected $casts = [

        'description' => 'array',

    ];

}

定义转换后,您可以访问该description属性,它会自动JSON反序列化为PHP array. 当您设置属性的值时description,给定的数组将自动序列化回JSON存储:


$description['content'] = $request->content;

$description['location'] = $request->location;

$description['area'] = $request->area;


$id = Auth::id();

$property = new Property();

$property->user_id = $id;

$property->title = $request->title;

$property->description = $description;

$property->status = 0;

$property->due_date = $request->due_date;

$property->save();


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号