Я следовал инструкциям из принятого ответа этого вопрос для создания модели и файла ресурсов модели.
Компания/Проект/Модель/Album.php
<?php
namespace Company\Project\Model;
class Album extends \Magento\Framework\Model\AbstractModel {
public function __construct(
\Magento\Framework\Model\Context $context,
\Magento\Framework\Registry $registry,
\Psr\Log\LoggerInterface $logger,
\Magento\Framework\Model\Resource\AbstractResource $resource = null,
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
array $data = []
) {
$this->_logger = $logger;
$this->_logger->addInfo("SO WE CAN ACTUALLY GET INTO THE MODEL FILE");
parent::__construct($context, $registry, $resource, $resourceCollection, $data);
}
public function _construct() {
$this->_init('Company\Project\Model\Resource\Album');
}
}
Компания/Проект/Модель/Ресурс/Album.php
<?php
namespace Company\Project\Model\Resource;
class Album extends \Magento\Framework\Model\Resource\Db\AbstractDb {
public function _construct() {
$this->_init('px_product_albums', 'id');
}
}
Company/Project/Helper/Data.php — здесь я получаю сообщение об ошибке
<?php
class Data extend \Magento\Framework\App\Helper\AbstractHelper {
.....
protected $pageFactory;
public function __construct(
....
\Magento\Cms\Model\PageFactory $pageFactory
)
......
function whereStuffIsHappening() {
.....
$albumId = WeHaveTheValue;
$productId = WeHaveThisValueToo;
$album = $this->pageFactory->create('Company\Project\Model\Album');
$this->_logger->addInfo("Album code is alright");
$album->setProductId($product->getId())->setPixleeAlbumId($albumId);
$album->save();
$this->_logger->addInfo("ALBUM ID SUCCESSFULLY SAVED");
Кажется, что следующая строка не выполняется. Я получаю 503 (Сервис недоступен).
$album = $this->pageFactory->create('Компания\Проект\Модель\Альбом');
Некоторые из вещей, которые я пробовал
- Очистка кеша Magento и хранилища кеша
- Я не развиваюсь на локальном хосте. Это домен magento.dev.
- Пробовал напрямую использовать objectManager вместо pageFactory. Я читал, что использование objectManager — плохая практика в Magento 2
Странно то, что я никогда не видел записи «ТАК МЫ МОЖЕМ ДЕЙСТВИТЕЛЬНО ПОЛУЧИТЬ В ФАЙЛ МОДЕЛИ» (это оператор печати в файле модели). Что наводит меня на мысль, что модель не инициируется. Но я могу ошибаться.
Помощь?
var/generation/Magento/Cms/Model
- person Aleksandr   schedule 26.01.2016