Undefined index: category_id

My Setup:

  1. VPS Server at a2hosting.com
  2. The server was set up by someone else that no longer working with the company
  3. I think it Ubuntu. Not sure what version. Apache & PHP 7.2
  4. Using Magento 2.3.0

At my job, we use Magento for our e-commerce site. We just upgrade Magento from 2.2 to 2.3 and now we are getting all kind of error. Since our developer is no longer working with the company we hire a freelance Magento Developer to help upgrade our Magento. One of the errors we get is

Notice: Undefined index: category_id in /home/vortexau/public_html/vendor/magento/module-catalog-url-rewrite/Model/Category/Plugin/Storage.php on line 52. (https://prnt.sc/nvkya6)

We asked the developer to fix the error but he said there no way to fix it. We just need to change the “All store Views” to an actual store view. But the error doesn’t show until we clicked the save button. So it frustrating to make the change/update on the product and find out it not saving and we have to re-do the change/update under a store view.

Greatly appreciate for any suggestion on fixing this issue.

1 Like

Database issues can be quite complex and hard to diagnose. Your issue isn’t one that I have come across before, therefore I have no answers to offer off the top of my head. In fact, it doesn’t appear to be a very popular issue because Google doesn’t have much to offer either. In fact, the only potential result relating to your issue might be listed in this stackexchange post.

Anyway, something clearly happened during the upgrade process that is unique to the method that was carried out.

So, the way that I would normally tackle an issue like this is to compare a copy of my Development Database (before the upgrade) against the Production Database (after the upgrade). I’d go through the tables relating to the categories and see if I can see a pattern. Obviously, I wouldn’t know what to look for but I’d keep analysing the data until I found a pattern or a significant difference that would lead me to an answer. This process generally tends to be very time consuming.

One thing you might want to consider and test on your Development Server is switching Magento to Single-Store Mode (Stores > Configuration > General). Out-of-the-box Magento supports Multi-Stores, but this can be turned off. It’s a shot in the dark and it may cause more harm than good - But I thought it was worth a mention if you wanted to test it anyway. Obviously, this is only an option if you run one store.

Sorry, I couldn’t provide you with any direct answers. If your current developer is good, they’ll probably be able to provide you with some more answers given enough time as opposed to “there no way to fix it”. Being a developer is more about analytical thinking and problem solving than knowing how to use Google. Unfortunately, the good ones are always expensive.