Я получаю учебники Magento 2, и у меня возникли проблемы с получением коллекции с фабрики моей пользовательской модели после вызова метода create(). Он выдает сообщение об ошибке «Имя ресурса коллекции модели не определено». Я уже очистил/var/поколение и перекомпилировал di.Ошибка Magento 2 - имя ресурса коллекции моделей не определено
Компания/модуль/модель/Vendor.php
namespace Company\Module\Model;
class Vendor extends \Magento\Framework\Model\AbstractModel {
protected function _constructor() {
$this->_init('Company\Module\Model\Resource\Vendor');
}
}
Компания/модуль/модель/Resource/Vendor.php
namespace Company\Module\Model\Resource;
class Vendor extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
{
protected function _construct()
{
$this->_init(
'company_vendor',
'vendor_id'
);
}
}
Компания/модуль/модель/Resource/Производитель/Коллекция. PHP
namespace Company\Module\Model\Resource\Vendor;
class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
{
protected function _construct()
{
$this->_init(
'Company\Module\Model\Vendor',
'Company\Module\Model\Resource\Vendor'
);
}
}
Компания/модуль/блок/VendorList.php
namespace Company\Module\Block;
class VendorList extends \Magento\Framework\View\Element\Template {
protected $vendorFactory;
public function __construct(\Magento\Framework\View\Element\Template\Context $context,
\Company\Module\Model\VendorFactory $vendorFactory,
array $data = [])
{
parent::__construct($context, $data);
$this->vendorFactory = $vendorFactory;
}
public function getVendors() {
return $this->vendorFactory->create()->getCollection()->getItems(); //fails on getCollection()
}
Это ошибка, я получаю:
1 исключение (ы): Исключение # 0 (Magento \ Framework \ Exception \ LocalizedException): имя ресурса коллекции Модель не определена.
hmm, попробовал это и по-прежнему имеет ту же проблему. – mailman
попробуйте кэшировать пурпурный, а затем проверить. –