Magento2工厂对象注入参数
-
29-09-2020 - |
题
我创建了一个模型,其中包含资源模型和集合。
在 MyModel
我已经定义了属性
public $myProperty;
但是,当我尝试做时
$myModel = $this->MyModuleFactory->create(['myProperty'=>5]);
var_dump($myModel->myProperty);
的价值 myProperty
总是 NULL
. 。我怎样才能设置 $myProperty
价值 5
?
解决方案
您需要将“myProperty”添加到构造函数中
public function __construct(
...
$myProperty = null; //because this is not a class instance make it default to null otherwise the object manager will not know what to do with it
){
...
$this->myProperty = $myProperty;
}
并像这样实例化你的类
$data = ['myProperty'=>5];
$this->MyModuleFactory->create(['data' => $data]);