Я пытаюсь сохранить значения форм из набора полей с одинаковыми именами в типе столбца JSON
.
<?php
//Form values as an array
$title = request('title');
$price = request('price');
$link = request('link');
$arrM = array();
for($i = 0; $i < count($title); $i++) {
$arrM[] = array(
'title' => $title[$I],
'price' => $price[$I],
'link' => $link[$i],
);
}
Tag::create([
'title' => request('title'),
'tag_points' => $arrM,
]);
Я взял каждое значение и объединил в массив и установил приведение как array
.Laravel не примет формат ниже
$ arrM - Вывод
array:2 [▼
0 => array:3 [▼
"title" => "First Title"
"price" => "10"
"link" => "https://google.com"
]
1 => array:3 [▼
"title" => "Second Title"
"price" => "40"
"link" => "https://stackoverflow.com"
]
]
Ошибка
Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, string given
Как бы я хотел, чтобы он хранился в столбце БД
[{
"title": "First Title",
"price": "10",
"link": "https://google.com"
}, {
"title": "Second Title",
"price": "40",
"link": "https://stackoverflow.com"
}]