Question

I think I used UpgradeSchema wrongly , I have horrible error like

1 exception(s):
Exception #0 (BadMethodCallException): Missing required argument $primaryFieldName of Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider.

Exception #0 (BadMethodCallException): Missing required argument $primaryFieldName of Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider.
#0 /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(34): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgumentsInRuntime('Magento\\Framewo...', Array, Array)
#1 /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(59): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\\Framewo...', Array, Array)
#2 /var/www/html/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...', Array)
#3 /var/www/html/vendor/magento/framework/View/Element/UiComponent/Argument/Interpreter/ConfigurableObject.php(60): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Framewo...', Array)
#4 /var/www/html/generated/code/Magento/Framework/Data/Argument/InterpreterInterface/Proxy.php(95): Magento\Framework\View\Element\UiComponent\Argument\Interpreter\ConfigurableObject->evaluate(Array)
#5 /var/www/html/vendor/magento/framework/Data/Argument/Interpreter/Composite.php(61): Magento\Framework\Data\Argument\InterpreterInterface\Proxy->evaluate(Array)
#6 /var/www/html/vendor/magento/module-ui/Config/Data.php(164): Magento\Framework\Data\Argument\Interpreter\Composite->evaluate(Array)
#7 /var/www/html/vendor/magento/module-ui/Config/Data.php(167): Magento\Ui\Config\Data->evaluateComponentArguments(Array)
#8 /var/www/html/vendor/magento/module-ui/Config/Data.php(111): Magento\Ui\Config\Data->evaluateComponentArguments(Array)
#9 /var/www/html/vendor/magento/module-ui/Config/Data.php(136): Magento\Ui\Config\Data->initData()
#10 /var/www/html/vendor/magento/framework/View/Layout/Reader/UiComponent.php(100): Magento\Ui\Config\Data->get('devall_popupman...')
#11 /var/www/html/vendor/magento/framework/View/Layout/ReaderPool.php(105): Magento\Framework\View\Layout\Reader\UiComponent->interpret(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Element), Object(Magento\Framework\View\Layout\Element))
#12 /var/www/html/vendor/magento/framework/View/Layout/Reader/Container.php(89): Magento\Framework\View\Layout\ReaderPool->interpret(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Element))
#13 /var/www/html/vendor/magento/framework/View/Layout/ReaderPool.php(105): Magento\Framework\View\Layout\Reader\Container->interpret(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Element), Object(Magento\Framework\View\Layout\Element))
#14 /var/www/html/vendor/magento/framework/View/Page/Config/Reader/Body.php(68): Magento\Framework\View\Layout\ReaderPool->interpret(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Element))
#15 /var/www/html/vendor/magento/framework/View/Layout/ReaderPool.php(105): Magento\Framework\View\Page\Config\Reader\Body->interpret(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Element), Object(Magento\Framework\View\Layout\Element))
#16 /var/www/html/vendor/magento/framework/View/Layout.php(325): Magento\Framework\View\Layout\ReaderPool->interpret(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Element))
#17 /var/www/html/generated/code/Magento/Framework/View/Layout/Interceptor.php(89): Magento\Framework\View\Layout->generateElements()
#18 /var/www/html/vendor/magento/framework/View/Layout/Builder.php(129): Magento\Framework\View\Layout\Interceptor->generateElements()
#19 /var/www/html/vendor/magento/framework/View/Page/Builder.php(55): Magento\Framework\View\Layout\Builder->generateLayoutBlocks()
#20 /var/www/html/vendor/magento/framework/View/Layout/Builder.php(65): Magento\Framework\View\Page\Builder->generateLayoutBlocks()
#21 /var/www/html/vendor/magento/framework/View/Page/Config.php(208): Magento\Framework\View\Layout\Builder->build()
#22 /var/www/html/vendor/magento/framework/View/Page/Config.php(228): Magento\Framework\View\Page\Config->build()
#23 /var/www/html/generated/code/Magento/Framework/View/Page/Config/Interceptor.php(50): Magento\Framework\View\Page\Config->getTitle()
#24 /var/www/html/app/code/Devall/PopupManager/Controller/Adminhtml/Popup/Index.php(36): Magento\Framework\View\Page\Config\Interceptor->getTitle()
#25 /var/www/html/generated/code/Devall/PopupManager/Controller/Adminhtml/Popup/Index/Interceptor.php(24): Devall\PopupManager\Controller\Adminhtml\Popup\Index->execute()
#26 /var/www/html/vendor/magento/framework/App/Action/Action.php(107): Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor->execute()
#27 /var/www/html/vendor/magento/module-backend/App/AbstractAction.php(235): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#28 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http))
#29 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(138): Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor->___callParent('dispatch', Array)
#30 /var/www/html/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(143): Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#31 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#32 /var/www/html/vendor/bsscommerce/admin-action-log/Plugin/Action.php(71): Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#33 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(135): Bss\AdminActionLog\Plugin\Action->aroundDispatch(Object(Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#34 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(153): Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#35 /var/www/html/generated/code/Devall/PopupManager/Controller/Adminhtml/Popup/Index/Interceptor.php(39): Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor->___callPlugins('dispatch', Array, NULL)
#36 /var/www/html/vendor/magento/framework/App/FrontController.php(55): Devall\PopupManager\Controller\Adminhtml\Popup\Index\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#37 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#38 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#39 /var/www/html/vendor/m2e/ebay-amazon-magento2/Plugin/HealthStatus/Magento/Framework/App/FrontController.php(82): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#40 /var/www/html/vendor/m2e/ebay-amazon-magento2/Plugin/AbstractPlugin.php(46): Ess\M2ePro\Plugin\HealthStatus\Magento\Framework\App\FrontController->processDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Array)
#41 /var/www/html/vendor/m2e/ebay-amazon-magento2/Plugin/HealthStatus/Magento/Framework/App/FrontController.php(46): Ess\M2ePro\Plugin\AbstractPlugin->execute('dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Array)
#42 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(135): Ess\M2ePro\Plugin\HealthStatus\Magento\Framework\App\FrontController->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#43 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#44 /var/www/html/generated/code/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, NULL)
#45 /var/www/html/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#46 /var/www/html/generated/code/Magento/Framework/App/Http/Interceptor.php(24): Magento\Framework\App\Http->launch()
#47 /var/www/html/vendor/magento/framework/App/Bootstrap.php(257): Magento\Framework\App\Http\Interceptor->launch()
#48 /var/www/html/pub/index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#49 {main}

What can u suggest me ? I fixed upgradeSchema and run se:up again with upgraded version I imported old database but it didn't work removed changes by getting out of branch and returned than, still same error.

Was it helpful?

Solution

In your listing ui component file (don't know how it's called in your module) you have something like this:

<dataProvider class="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider" name="....">
 ...
</dataProvider>

Inside this tag you are missing something like this

    <dataProvider class="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider" name="....">
        <settings>
            <requestFieldName>id</requestFieldName>
            <primaryFieldName>PK of your entity table here</primaryFieldName>
        </settings>
    </dataProvider>

You can look for examples in the core code. For example https://github.com/magento/magento2/blob/2.4-develop/app/code/Magento/Cms/view/adminhtml/ui_component/cms_block_listing.xml#L38

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top