LoginSignup
5
2

More than 3 years have passed since last update.

【Laravel6でエラーが出た】BadMethodCallExeption: Method Illuminate¥Routing¥Rout::get does not exist.

Last updated at Posted at 2020-11-21

【Laravel6でエラーが出た】BadMethodCallExeption: Method Illuminate¥Routing¥Rout::get does not exist.

使用環境

  • windows 10 Home(COREi7)
  • XAMPP 7.3.18
  • Laravel 6

背景

Laravel5.7入門の動画に沿ってLaravel6の学習をしていた。
しかしながら、ところどころ違うところも出てきており、極力、ファイルをいじらずに進め、php artisan serveをしようとしたところエラーが発生。

image.png

routesディレクトリ中のweb.phpを見てみると、以下のようになっていた。

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

use App\Http\Controllers\TaskController;
use Illuminate\Routing\Route;


Route::get('/', function () {
    return redirect('/tasks');
});

Route::get('/tasks', 'TaskController@index');
Route::post('/tasks', 'TaskController@store');
Route::delete('/tasks/{task}', 'TaskController@destroy');


  • 解決案1

エラー文そのまま検索してみるとちょうど同じ状況に陥った人の記事を発見できた。
https://qiita.com/tatuki81/items/6384f21382c17200de0d

早速、同じことをしてみる。

use App\Http\Controllers\TaskController;
use vendor\laravel\framework\src\Illuminate\Routing;

しかし、エラーは解決できず...

まずは以下のように。

use App\Http\Controllers\TaskController;
use Illuminate\Support\Facades\Route;

すると、php artisan serveできた。

内容を見てみると同じRoute.phpというファイル名でも中身は全然違う。

Illuminate\Support\Facades内のRoute.phpは以下のような内容。

<?php

namespace Illuminate\Support\Facades;

/**
 * @method static \Illuminate\Routing\Route fallback(\Closure|array|string|callable|null $action = null)
 * @method static \Illuminate\Routing\Route get(string $uri, \Closure|array|string|callable|null $action = null)
 * @method static \Illuminate\Routing\Route post(string $uri, \Closure|array|string|callable|null $action = null)
 * @method static \Illuminate\Routing\Route put(string $uri, \Closure|array|string|callable|null $action = null)
 * @method static \Illuminate\Routing\Route delete(string $uri, \Closure|array|string|callable|null $action = null)


わかったこと

原因は指定したファイルにメソッド(getとか使えるように書いてある)が入っていないよ!ということだったらしい。
メソッドが入っているIlluminate\Support\Facades内のRoute.phpを使うよという風にしたことでエラーが解除されたみたい。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2