سؤال

لقد خلق نموذج مع نموذج الموارد إليها ومجموعة.

في MyModel لقد حددت الخاصية

public $myProperty;

ومع ذلك ، عندما أحاول القيام به

$myModel = $this->MyModuleFactory->create(['myProperty'=>5]);
var_dump($myModel->myProperty);

قيمة myProperty دائما NULL.كيف يمكنني تعيين $myProperty القيمة إلى 5 ?

هل كانت مفيدة؟

المحلول

تحتاج إلى إضافة 'ميبروبيرتي' إلى منشئ أيضا

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]);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top