У меня есть класс типа ObjectValue в качестве теста
const FIELD_NAME = 'fieldName';
/**
* @var string
*/
public $fieldName;
public function __construct($fieldName)
{
$this->fieldName = $fieldName;
parent::__construct();
}
protected function define(ClassDefinition $class)
{
$class->property($this->fieldName)->asString();
}
и соответствующий класс Mapper
class TestMapper extends IndependentValueObjectMapper
{
protected function define(MapperDefinition $map)
{
$map->type(Test::class);
$map->property(Test::FIELD_NAME)->to('field_name')->asVarchar(255);
}
}
Мигрировал так же в дмс. Когда я пытаюсь добавить field_name
и сохранить, это дает ошибку следующим образом
Неправильная обработанная отправка: ожидаемое значение для поля ‘field_name’ будет иметь тип string, значение null (View: \ dms-org \ web.laravel \ resources \ views \ components \ form \ staged-form.blade.php)
Я не даю ноль, это строка, которую я добавляю
Я думаю, что вы играете вокруг сущностей с конструктором!
Не могли бы вы поместить родительский вызов конструктора в первую строку
public function __construct($fieldName)
{
parent::__construct();
$this->fieldName = $fieldName;
}
Это гарантирует, что если вы вызовете какое-либо значение в своем конструкторе, родительский класс уже настроен правильно.
Я не уверен в вашем случае …
Игнорировать меня если я не прав
Спасибо / Удачи! 🙂
Других решений пока нет …