Модель Laravel внезапно использует имя таблицы по умолчанию без множественного числа

avatar
Muhammad Azrai Bin Sidratul Mu
9 августа 2021 в 02:23
39
0
0

Сегодня, когда мой QA использовал наш проект разработки, мы внезапно получили сообщение об ошибке при попытке загрузить страницу. Это была ошибка

enter image description here

Как видите, он пытается найти таблицу с именем courseware, но в нашей БД она называется coursewares. Странно то, что это никогда не было проблемой раньше (с прошлой недели). Но сегодня мы столкнулись с этой проблемой. Быстрое исправление, которое я сделал, это добавить protected $table, но мы не хотим делать это для всех 400+ моделей, которые у нас есть в настоящее время, просто чтобы избежать этой проблемы в будущем.

Итак, кто-нибудь знает, в чем причина этой проблемы? Мы никогда не обновляем какие-либо фреймворки/пакеты laravel, но мы добавили 2 новых пакета (nexmo/laravel и jotaelesalinas/laravel-adminless-ldap-auth) в прошлую пятницу.

.

Вот как выглядит наш composer.json :

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.0.0",
        "ext-memcached": "3.0.0-dev",
        "artesaos/seotools": "0.13.0",
        "authy/php": "3.0",
        "aws/aws-sdk-php": "^3.158",
        "aws/aws-sdk-php-laravel": "^3.6",
        "barryvdh/laravel-snappy": "^0.4.1",
        "buzz/laravel-google-captcha": "^2.1",
        "cartalyst/stripe-laravel": "7.*",
        "chumper/zipper": "^1.0",
        "consoletvs/identify": "^1.3",
        "curl/curl": "^2.3",
        "doctrine/dbal": "^2.9",
        "facade/ignition": "^1.17",
        "fideloper/proxy": "~3.3",
        "firebase/php-jwt": "^5.1",
        "goodnesskay/laravelpdfviewer": "^1.0",
        "guzzlehttp/guzzle": "^6.5",
        "h4cc/wkhtmltopdf-i386": "^0.12.4",
        "jenssegers/agent": "^2.6",
        "joisarjignesh/bigbluebutton": "^1.1",
        "jotaelesalinas/laravel-adminless-ldap-auth": "^0.4.4",
        "laravel/framework": "5.5.*",
        "laravel/passport": "~4.0",
        "laravel/tinker": "~1.0",
        "league/flysystem-aws-s3-v3": "~1.0",
        "maatwebsite/excel": "~2.1.0",
        "mdanter/ecc": "^0.5.2",
        "mikehaertl/phpwkhtmltopdf": "^2.3",
        "orangehill/iseed": "^2.6",
        "predis/predis": "^1.1",
        "spatie/laravel-binary-uuid": "^1.3",
        "spatie/pdf-to-image": "^1.8",
        "spomky-labs/jose": "^7.1",
        "stripe/stripe-php": "^7.62",
        "xeroapi/xero-php-oauth2": "^2.5",
        "nexmo/laravel": "^2.0"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
        }
    }
}
Источник
jrcamatog
9 августа 2021 в 03:17
0

При удалении двух указанных пакетов нормально работает?

matiaslauriti
9 августа 2021 в 03:47
0

О, чувак, у тебя есть Laravel 5.5, он давно устарел... Тем не менее, я не уверен, почему он меняет имя

Muhammad Azrai Bin Sidratul Mu
9 августа 2021 в 06:17
0

@jrcamatog нет. удаление этих пакетов, похоже, не решает проблему

Ответы (0)