Якщо ви отримуєте повідомлення про помилку " Немає такої сутності .", " Немає такої сутності з " або " Немає такої сутності з customerId " у Magento 2, проблема зазвичай виникає під час спроби завантажити неіснуючий об'єкт через клас репозиторію Magento 2.
Щоб налагодити це поширена помилка Magento 2 , відкрийте наступний файл:
vendor/magento/framework/Exception/NoSuchEntityException.php
та на початку методу __construct тимчасово додайте код зворотного трасування налагодження:
foreach (debug_backtrace() as $_stack) {
echo ($_stack["file"] ? $_stack["file"] : '') . ':' .
($_stack["line"] ? $_stack["line"] : '') . ' - ' .
($_stack["function"] ? $_stack["function"] : '');
}
exit();
приклад:
public function __construct(Phrase $phrase = null, \Exception $cause = null, $code = 0)
{
foreach (debug_backtrace() as $_stack) {
echo ($_stack["file"] ? $_stack["file"] : '') . ':' .
($_stack["line"] ? $_stack["line"] : '') . ' - ' .
($_stack["function"] ? $_stack["function"] : '');
}
exit();
if ($phrase === null) {
$phrase = new Phrase('No such entity.');
}
parent::__construct($phrase, $cause, $code);
}
збережіть файл та оновіть сторінку.
Ви побачите зворотний шлях налагодження, який дозволить вам визначити джерело проблеми та отримати уявлення про те, як її виправити.
Зазвичай сторонні розширення Magento 2 призводять до цієї проблеми, тому ви можете перевизначити їхній код та додати виняток "try-catch".
Не забудьте скасувати зміни у файлі NoSuchEntityException.php після завершення.
Exception has occurred.
Exception: Notice: Undefined index: file in /var/www/mywebsite/magento/framework/Exception/NoSuchEntityException.php on line 37
Which is the modification according to your tutorial. (https://magento.stackexchange.com/questions/291424/magento-2-3-the-error-evolution-from-entity-customerid-to-index-file-undefi)