“创建对象时发生类型错误:Magento \\ Eav \\ Model \\ Entity \\ Attribute \\ Source \\ Config”

时间:2019-06-18 12:05:31

标签: php magento-2.3

我从Magento 1.9.1.0迁移到Magento 2.3.1 ...迁移完成并显示警告,在重新索引并刷新了缓存并设置了升级,编译和部署之后,在管理后端单击“所有客户”时显示错误,无法查看所有客户,并且订单页面上缺少某些客户信息,例如送货地址,账单地址,联系人和姓名。

我用不同的解决方案迁移了无数次,但仍然遇到相同的错误。

  

{“ 0”:“创建对象时发生类型错误:   Magento \ Eav \ Model \ Entity \ Attribute \ Source \ Config“,” 1“:”#1   Magento \ Framework \ ObjectManager \ Factory \ Compiled-> create('Magento \ Eav \ Mode ...',   array())在   [vendor / magento / framework / ObjectManager / ObjectManager.php:56] \

我希望客户页面能够正确加载,并且还希望所有客户都不会出现错误,因为我确实经历了彻底的努力来解决这个问题。我将不胜感激。

2 个答案:

答案 0 :(得分:0)

尝试在customer_eav_attribute中找到fronted_input列值为select的{​​{1}},确保列eav_attribute不为NULL或为空或该值表示特定类别是正确的。

如果为空或为NULL,则在迁移时必须跳过/忽略错误警告。您可以通过将source_model列的值更改为fronted_input直到完成创建int

来解决此问题。

答案 1 :(得分:0)

尝试使用 xDebug 专门在方法 \Magento\Customer\Model\Metadata\CustomerMetadata 中调试此类 getAttributeMetadata。您将在那里找出导致此错误的 attribute_code。然后根据@Idham Choudry,更改 frontend_input 表中该属性的 eav_attribute 值。最后,我将其更改为文本。