LoginSignup
0
0

More than 1 year has passed since last update.

【Laravel6】モデルをModelsディレクトリに移動する際の修正箇所

Posted at

デフォルトではartisanコマンドでモデルを作ると、appディレクトリに作成される。
モデルをapp/Modelsディレクトリ配下にまとめる際に修正する箇所について。

バージョン:Laravel 6.20.32

修正箇所

  1. composer.json
  2. モデルに記載のnamespaceを変更
  3. コントローラ(ファクトリ、シーダ)に記載のモデルのディレクトリを変更
  4. auth.phpに記載のモデルのディレクトリを変更

1. composer.json

"autoload"部分にModelsディレクトリを追記("Models\\": "app/Models/"

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Models\\": "app/Models/"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ]
},

2. モデルに記載の、namespaceを変更

namespace App;

を下記のように変更。

namespace App\Models;

3. コントローラ(ファクトリ、シーダ)に記載の、モデルのディレクトリを変更

use App\モデル名;

を下記のように変更。(ファクトリを作成している場合、同様に修正。)

use App\Models\モデル名;

シーダを作成している場合、下記修正例。

public function run()
{
    factory(App\Models\モデル名::class, 1)->create();
}

4. auth.phpに記載のモデルのディレクトリを変更

認証機能を実装している場合は、config/auth.phpのUser Providersの'model'部分の修正が必要。

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users',
    // ],
],

を下記のように修正。

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],

    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users',
    // ],
],
0
0
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
0
0