I have exception when I ceate model.Here is that exception:
1 exception(s): Exception #0 (InvalidArgumentException): Training4VendorModelTraining4_Vendor2Product does not extend MagentoFrameworkDataObject Exception #0 (InvalidArgumentException): Training4VendorModelTraining4_Vendor2Product does not extend MagentoFrameworkDataObject
Magento version is 2.4.4 Training4VendorModelTraining4_Vendor2Product
<?php namespace Training4VendorModel; use MagentoFrameworkModelAbstractModel; class Training4_Vendor2Product extends AbstractModel { const vendor_id='id'; protected $_idFieldName = self::vendor_id; protected function _construct() { $this->_init(Training4VendorModelResourceModelTraining4_Vendor2Product::class); } }
Training4VendorModelResourceModelTraining4_Vendor2Product
<?php namespace Training4VendorModelResourceModel; use MagentoFrameworkModelResourceModelDbAbstractDb; class Training4_Vendor2Product extends AbstractDb { protected function _construct() { $this->_init('training4_vendor2product','id'); } }
Training4VendorModelResourceModelTraining4_Vendor2ProductCollection
<?php namespace Training4VendorModelResourceModelTraining4_Vendor2Product; use MagentoFrameworkModelResourceModelDbCollectionAbstractCollection; class Collection extends AbstractCollection { protected $_idFieldName = 'id'; protected function _construct() { $this->_init(Training4VendorModelTraining4_Vendor2Product::class, Training4VendorModelResourceModelTraining4_Vendor2Product::class); } }
in Training4VendorModelTraining4_Vendor2Product,I have already extends MagentoFrameworkModelAbstractModel,I don’t know why that exception occur
Advertisement
Answer
did you add dependency in di.xml
<virtualType name="HelenOfTroyWebinarModelResourceModelSpecificSpeakersGridCollection" type="MagentoFrameworkViewElementUiComponentDataProviderSearchResult"> <arguments> <argument name="mainTable" xsi:type="string">training4_vendor2product</argument> <argument name="resourceModel" xsi:type="string">Training4VendorModelResourceModelTraining4_Vendor2Product</argument> </arguments> </virtualType>