Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel中将多个数组值存储为JSON列_Php_Arrays_Laravel_Eloquent - Fatal编程技术网

Php 在Laravel中将多个数组值存储为JSON列

Php 在Laravel中将多个数组值存储为JSON列,php,arrays,laravel,eloquent,Php,Arrays,Laravel,Eloquent,我试图将一组共享相同名称的字段中的表单值存储到JSON列类型中 错误 传递给Lightning\Database\Grammar::parameterize()的参数1必须是给定字符串的数组类型 我希望它如何存储在DB列中 [{ "title": "First Title", "price": "10", "link": "https://google.com" }, { "title": "Second Title", "price": "40",

我试图将一组共享相同名称的字段中的表单值存储到
JSON
列类型中


错误

传递给Lightning\Database\Grammar::parameterize()的参数1必须是给定字符串的数组类型

我希望它如何存储在DB列中

[{
    "title": "First Title",
    "price": "10",
    "link": "https://google.com"
}, {
    "title": "Second Title",
    "price": "40",
    "link": "https://stackoverflow.com"
}]

要在迁移中存储JSON字段,必须执行以下操作:

$table->json('field')
然后在中,如果要获取这些值,必须将该值从JSON强制转换为数组。您可以通过使用$casts属性来实现这一点

class YourModel extends Model
{
    protected $casts = [
        'field' => 'array'
    ];
}

嘿恐怕我已经定好了。问题是它没有与当前代码一起存储。我发现了问题-我在测试帖子标题时使用了相同的
title
字段,这导致在字符串字段中输入了多个值!
$table->json('field')
class YourModel extends Model
{
    protected $casts = [
        'field' => 'array'
    ];
}