2017-10-13 3 views
0

J'ai ci-dessous erreur lors de l'exécutionMagento 2: Erreur lors de la compilation type d'argument Incompatible

bin

php/setup magento: di: compiler

Errors during compilation: 
     Ves\Blog\Model\ResourceModel\Author\Grid\Collection 
       Incompatible argument type: Required type: \Magento\Framework\DB\Adapter\AdapterInterface. Actual type: \Magento\Store\Model\StoreManagerInterface; File: 
app/code/Ves/Blog/Model/ResourceModel/Author/Grid/Collection.php 

Ves/Blog/Modèle/ResourceModel/Auteur/Grille/Collection.php

namespace Ves\Blog\Model\ResourceModel\Author\Grid; 

use Magento\Framework\Api\Search\SearchResultInterface; 
use Magento\Framework\Search\AggregationInterface; 
use Ves\Blog\Model\ResourceModel\Author\Collection as AuthorCollection; 

class Collection extends AuthorCollection implements SearchResultInterface 
{ 
protected $aggregations; 
public function __construct(
     \Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, 
     \Psr\Log\LoggerInterface $logger, 
     \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, 
     \Magento\Framework\Event\ManagerInterface $eventManager, 
     \Magento\Store\Model\StoreManagerInterface $storeManager, 
     $mainTable, 
     $eventPrefix, 
     $eventObject, 
     $resourceModel, 
     $model = 'Magento\Framework\View\Element\UiComponent\DataProvider\Document', 
     $connection = null, 
     \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource = null 
    ) { 
     parent::__construct(
      $entityFactory, 
      $logger, 
      $fetchStrategy, 
      $eventManager, 
      $storeManager, 
      $connection, 
      $resource 
     ); 
     $this->_eventPrefix = $eventPrefix; 
     $this->_eventObject = $eventObject; 
     $this->_init($model, $resourceModel); 
     $this->setMainTable($mainTable); 
    } 

Edit 1: \ app code \ \ Ves \ Blog \ Modèle \ ResourceModel \ Auteur \ Collection.php

<?php 
namespace Ves\Blog\Model\ResourceModel\Author; 

class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection 
{ 

    protected function _construct() 
    { 
     $this->_init('Ves\Blog\Model\Author', 'Ves\Blog\Model\ResourceModel\Author'); 
    } 

} 

S'il vous plaît laissez-moi savoir comment résoudre ce problème.

Répondre

0

Vérifiez la construction de la classe: AuthorCollection. il semble que ce ne soit pas le cas; \ Magento \ Store \ Model \ StoreManagerInterface; mais vous avez besoin d'un objet \ Magento \ Framework \ DB \ Adapter \ AdapterInterface. donc quand vous appelez la construction de la classe AuthorCollection vous devez utiliser exactement le même type

parts votre AuthorCollection de classe afin que je puisse vous aider

+0

question Mise à jour avec la collection de l'auteur. – Palanikumar