Макет, который я создал, чтобы заполнить базу данных строкой, не понимает, что ему нужно преобразовать данные в JSON перед сохранением их в базе данных.По какой-то причине, когда данные из макета вставляются в базу данных, они пропускают приведение к JSON.Поэтому, когда логика выбирает строку из базы данных, она возвращает эту ошибку.
json_decode() expects parameter 1 to be string, array given
Если у меня это как массив в макете.Это выдаст эту ошибку, когда мы декодируем в контроллере.Если я кодирую его в макете, он возвращает ту же ошибку.Если я кодирую его в макете и удаляю актерский состав из модели, он работает как положено.
Кто-нибудь знает, как это сделать правильно?
это мой макет
class SettingMocks
{
public static function getSetting() {
return [
'id' => 1,
'name' => 'Standard',
'settings' => json_encode([
'objective' => "CONVERSIONS",
'gender' => [1,2],
])
];
}
}
это моя модель
class Setting extends Model
{
protected $guarded = [];
protected $casts = [
'settings' => 'json',
];
}