Laravel + MySQL + Vue.jsで、一覧表アプリを作ったので、Herokuにデプロイしました。
困っていること
Laravelでapi化したものをフロント側のVue.jsにおいて、axiosを使ってそのapi化されたデータベースを取得しているのですが、データベースの部分が全く表示できない状態で、以下のスクリーンショットのように500エラーが出てしまっています。
(データベースを使用していない部分はきちんと表示されています。)
$ heroku run bash $ php artisan migrate
上記コマンドで、migrationも行いましたし、herokuのconfig varsも設定しました。
下記リンクを参考にデプロイを行いました。
【Heroku】LaravelとMySQLでデプロイする
apiが原因なのでは、ということまではわかるのですが、どのように対処すべきかわからず、困っています。
どなたかご教示いただけますと助かります。
補足
alcList/app/Http/Controllers/Api/AlcController.php
PHP
1<?php 2 3namespace App\Http\Controllers\Api; 4 5use App\Http\Controllers\Controller; 6use App\Models\Alc; 7use Illuminate\Http\Request; 8 9class AlcController extends Controller 10{ 11 public function alcList() { 12 $list = Alc::all(); 13 return response()->json(['lists' => $list], 200, [], JSON_UNESCAPED_UNICODE); 14 15 } 16}
alcList/app/Models/Alc.php
PHP
1<?php 2 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Factories\HasFactory; 6use Illuminate\Database\Eloquent\Model; 7 8class Alc extends Model 9{ 10 protected $table = 'alc'; 11 12}
composer.json
{ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": [ "framework", "laravel" ], "license": "MIT", "require": { "php": "^7.3|^8.0", "ext-intl": "*", "fideloper/proxy": "^4.4", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^7.0.1", "laravel/framework": "^8.12", "laravel/tinker": "^2.5", "laravel/ui": "^3.1" }, "require-dev": { "facade/ignition": "^2.5", "fakerphp/faker": "^1.9.1", "mockery/mockery": "^1.4.2", "nunomaduro/collision": "^5.0", "phpunit/phpunit": "^9.3.3" }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true, "bin-dir": "vender/bin" }, "extra": { "laravel": { "dont-discover": [] } }, "autoload": { "psr-4": { "App\": "app/", "Database\Factories\": "database/factories/", "Database\Seeders\": "database/seeders/" } }, "autoload-dev": { "psr-4": { "Tests\": "tests/" } }, "minimum-stability": "dev", "prefer-stable": true, "scripts": { "post-autoload-dump": [ "Illuminate\Foundation\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] } }
補足2
/storage/logs/以下にあるlaravel.logというファイルを見てみましたが、localのエラーは出ていますが、それ以外は修正済みのエラーでした。以下のように出てきていました。
local.ERROR: Call to undefined method Illuminate\Routing\RouteAction::containsSerializedClosure() {"exception":"[object] (Error(code: 0): Call to undefined method Illuminate\Routing\RouteAction::containsSerializedClosure() at /Users/azusa/Documents/GitHub/ShowingAlcList/alcList/vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php:21)
補足3
laravel.logを削除して、Herokuから再度アクセスしてみた結果、同じエラーが出ています。
ただ、リロードすると、GETに原因があるのではないかと思われるような内容に変わりました。
また、Heroku側のlogも確認してみました。すると、以下のようなエラーの記述が見つかりました。
しかし、popper.jsなんて使ったこともないのですが...
補足4
今、Google ChromeのDeveloper ToolsのNetworkのところで確認したところ、以下のスクリーンショットのようなエラーが確認できました。
こちら、apiに関するエラーのようです。
回答1件
あなたの回答
tips
プレビュー