Всем привет, сталкнулся такой проблемой при работе с этим пакетом, что при сохранении поля value из связующей таблицы, поле value пытается сохранить в таблицу tariffs
, а если в ресурсе заменить поле Translatable
на Text
то все работает корректно.
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'value' in 'field list'
update `tariffs` set `value` = {"en":"30$"}, `tariffs`.`updated_at` = 2024-06-06 12:06:39 where `id` = 1
class Tariff extends Model
{
use HasFactory, HasTranslations;
public array $translatable = ['label', 'pivot.value'];
protected $fillable = [
'active',
'label',
'sort',
];
protected $casts = [
'active' => 'boolean',
'label' => 'json',
'sort' => 'integer',
];
public function tariffPlans(): belongsToMany
{
return $this->belongsToMany(TariffPlan::class)
->withPivot(['tariff_type', 'value', 'sort'])
->orderByPivot('sort');
}
}
class TariffPlan extends Model
{
use HasFactory, HasTranslations;
public array $translatable = ['label', 'price', 'pivot.value'];
protected $fillable = [
'label',
'price',
'active',
'sort',
];
protected $casts = [
'label' => 'json',
'price' => 'json',
'active' => 'boolean',
'sort' => 'integer',
];
public function tariffs(): belongsToMany
{
return $this->belongsToMany(Tariff::class)
->withPivot(['tariff_type', 'value', 'sort'])
->orderByPivot('sort');
}
}
class TariffTariffPlan extends Model
{
use HasFactory, HasTranslations;
public array $translatable = ['value'];
protected $fillable = [
'tariff_id',
'tariff_plan_id',
'tariff_type',
'value',
'sort',
];
protected $casts = [
'tariff_id' => 'integer',
'tariff_plan_id' => 'integer',
'tariff_type' => 'string',
'value' => 'json',
'sort' => 'integer',
];
public function tariff(): belongsTo
{
return $this->belongsTo(Tariff::class);
}
public function plan(): belongsTo
{
return $this->belongsTo(TariffPlan::class);
}
}