A compilation was started.
Interception cache generation... 6/7 [========================>---] 85% 1 min 404.0 MiB Errors during compilation: SkyFox\Supplier\UI\DataProvider\Supplier\DataProvider
Incompatible argument type: Required type: string.
Actual type:\SkyFox\Supplier\UI\DataProvider\Supplier\name;
File: /var/www/html/sky.local/app/code/SkyFox/Supplier/UI/DataProvider/Supplier/DataProvider.php
Total Errors Count: 1 [Magento\Framework\Validator\Exception]
Error during compilationsetup:di:compile
This's my code:
namespace SkyFox\Supplier\Model\Company; use Magento\Framework\App\Request\DataPersistorInterface; class DataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider { /** * @var \SkyFox\Supplier\Model\ResourceModel\Supplier\Collection */ protected $collection; /** * @var DataPersistorInterface */ protected $dataPersistor; /** * @var array */ protected $loadedData; /** * @var \Magento\Framework\DB\Adapter\AdapterInterface */ protected $connection; /** * DataProvider constructor. * @param $name * @param $primaryFieldName * @param $requestFieldName * @param \SkyFox\Supplier\Model\ResourceModel\Supplier\CollectionFactory $collectionFactory * @param DataPersistorInterface $dataPersistor * @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection * @param array $meta * @param array $data */ public function __construct( $name, $primaryFieldName, $requestFieldName, \SkyFox\Supplier\Model\ResourceModel\Supplier\CollectionFactory $collectionFactory, DataPersistorInterface $dataPersistor, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null, array $meta = [], array $data = [] ) { $this->collection = $collectionFactory->create(); $this->dataPersistor = $dataPersistor; $this->connection = $connection; parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data); } /** * @return array */ public function getData() { if (isset($this->loadedData)) { return $this->loadedData; } $items = $this->collection->getItems(); foreach ($items as $supplier) { $this->loadedData[$supplier->getData('company_id')] = $supplier->getData(); } $data = $this->dataPersistor->get('supplier'); if (!empty($data)) { $supplier = $this->collection->getNewEmptyItem(); $supplier->setData($data); $this->loadedData[$supplier->getData('company_id')] = $supplier->getData(); $this->dataPersistor->clear('supplier'); } return $this->loadedData; } } Thanks all