Прежде всего, создайте это поле с правильным типом в файле миграции, ключевое слово, которое нам нужно, это json
:
...
$table->json('productname');
...
Тогда нам нужно cast
этот атрибут справавведите при извлечении его как Eloquent model
, используя атрибут $casts
на самой модели:
...
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'productname' => 'array'
];
...
Затем мы можем получить доступ и сохранить данные для этого атрибута следующим образом:
$myModel = product::find(1);
$myModel->productname['en'] = 'something';
// or
$myModel->productname = ['en' => 'something']; // This will override the whole attribute
Для получения более подробной информации вы можете посмотреть на: https://laravel.com/docs/5.7/eloquent-mutators#attribute-casting