Magento2 objeto de fábrica de injetar parâmetros
-
29-09-2020 - |
Pergunta
Eu ter criado um Modelo com um modelo de Recurso para ele e uma coleção.
No MyModel
Eu defini a propriedade
public $myProperty;
No entanto, quando tento fazer
$myModel = $this->MyModuleFactory->create(['myProperty'=>5]);
var_dump($myModel->myProperty);
O valor de myProperty
é sempre NULL
.Como posso definir o $myProperty
valor para 5
?
Solução
você precisa adicionar 'myProperty' para o construtor também
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;
}
e instanciar a classe como este
$data = ['myProperty'=>5];
$this->MyModuleFactory->create(['data' => $data]);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange