处理的提交无效:字段 'field_name' 的预期值是字符串类型,给定为空

Invalid processed submission: expecting value for field 'field_name' to be of type string, null given

我有一个 ObjectValue 类型 class 作为 Test

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();
}

和相应的映射器class

class TestMapper extends IndependentValueObjectMapper

{

protected function define(MapperDefinition $map)
{
    $map->type(Test::class);

    $map->property(Test::FIELD_NAME)->to('field_name')->asVarchar(255);
}

}

同样迁移到 dms。当我尝试添加 field_name 并保存时,出现如下错误

Invalid processed submission: expecting value for field 'field_name' to be of type string, null given (View: \dms-org\web.laravel\resources\views\components\form\staged-form.blade.php)

我没有给出 null,它是我要添加的字符串

我认为您正在使用构造函数来玩转实体!

能否将父构造函数调用放在第一行

public function __construct($fieldName)
{
    parent::__construct();

    $this->fieldName = $fieldName;

}

这将确保如果您在构造函数上调用任何值,则父 class 已正确设置。

我不确定你的情况......

如果我错了请忽略我

谢谢/祝你好运!! :)