php - Laravel Eloquent - 通过传递 JSON 变量插入到数据库

标签 php json laravel-4 eloquent

如果我有一个 JSON 变量,每个键都与表列匹配,有没有办法只传递它并将其保存到数据库中?

例如,如果我有:

{
    "name" : "John Smith",
    "email" : "john.smith@gmail.com",
    "phone" : "111-111-1111"
}

而我的表 User 只有那些列(我知道,我知道!我没有定义密码)。我能否以某种方式使用该变量来保存新条目,或者我是否需要逐一设置每一列?

最佳答案

我认为没有办法直接做到这一点,但您可以将 JSON 转换为关联数组:

 $userData = json_decode("{
    "name" : "John Smith",
    "email" : "john.smith@gmail.com",
    "phone" : "111-111-1111"
}", true);

然后您可以使用 User::create($userData); 来创建新条目。

为此,您还需要设置模型以允许对这些字段进行批量分配:

protected $fillable = ['name', 'email', 'phone'];

您可以在 Laravel 官方文档中找到更多相关信息 here ;

关于php - Laravel Eloquent - 通过传递 JSON 变量插入到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22905069/

相关文章:

android - 如何在java中对json对象数组进行排序

json - 如何在 flutter 中解析 Json 的 map 列表?

validation - 使用 Laravel 4、Factory Muff、Ardent、Faker 的 TDD - 我做错了

php - 找不到 Laravel 4 迁移基表

php - ionauth 登录最大尝试次数实现

php - 选择一个元素列表和每个元素的 5 个标签

ios - 解析来自 URL 的 JSON 响应给出 <null>

Laravel Controller 子文件夹路由

javascript - 用于 Facebook 共享的 Open Graph 选择了错误的图像

javascript - 将php表转换成多个javascript文本框