Laravelでadmin画面を作りたい

```vim
composer require encore/laravel-admin
```

#エラー

```vim
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - encore/laravel-admin[v1.8.0, ..., v1.8.12] require doctrine/dbal 2.* -> found doctrine/dbal[2.1.5, ..., 2.13.x-dev] but it conflicts with your root composer.json require (^3.1).
    - Root composer.json requires encore/laravel-admin ^1.8 -> satisfiable by encore/laravel-admin[v1.8.0, ..., v1.8.12].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

```

どうやらdbalのバージョンが3.0だと扱えないようなのでダウングレードする。

```diff
     "license": "MIT",
     "require": {
         "php": "^7.3|^8.0",
-        "doctrine/dbal": "^3.0",
+        "doctrine/dbal": "2.*",
+        "encore/laravel-admin": "^1.8",
         "fideloper/proxy": "^4.4",
         "fruitcake/laravel-cors": "^2.0",
         "guzzlehttp/guzzle": "^7.0.1",


```


dbalを3⇨２にする。

```vim
composer require "doctrine/dbal:2.*"
```

```
composer require encore/laravel-admin
```


```vim
$php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
$php artisan admin:install
```

```vim
app/Admin
├── Controllers
│   ├── ExampleController.php
│   └── HomeController.php
├── bootstrap.php
└── routes.php

```

http://dbmock/admin

(上記を自分の環境によって都度書き換えて下さい。``php artisan serve`` でhttp://localhost:8000/admin ) でローカル開発をしている方が多いのではないでしょうか??

DBに接続するために以下のモデルを実行します。

以下の管理画面が出ますので、user画面,パスワード共にadminでログインします。
本番環境でこれを使うのはあまりにも危険すぎるので管理者などに確認して扱うのが無難かと、、自分の場合は一人なので確認する人もいないのですが


![スクリーンショット 2021-07-08 2.56.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/826735/ad5f8187-faff-6758-7cb8-147472879489.png)


![スクリーンショット 2021-07-08 2.54.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/826735/2236a363-6b74-097b-80a7-5da59c2e01d0.png)


```vim
php artisan make:model Recipe
```

```vim
php artisan admin:make RecipeController --model=App\\models\\Recipe

```

```vim
App\Admin\Controllers\RecipeController created successfully.

Add the following route to app/Admin/routes.php:

$router->resource('recipes', RecipeController::class);
```

このおっさんの顔消したいので設定します。
![スクリーンショット 2021-07-08 3.07.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/826735/1de28051-9d76-2a78-6e43-8ac675cba1dc.png)

とりあえず以下を解消する。

```
Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
```

``Disk [admin] not configured, please add a disk config in `config/filesystems.php`.``

ってことなので追加します。

該当のファイルは以下のようになっています。

``config/filesystems.php``

```php

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],

    ],

```

まあファイルアップロード用のphpファイルってとこですかね。file.phpについては割愛します。

```php

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL') . '/storage',
            'visibility' => 'public',
        ],
　　　　　↓↓↓追加↓↓↓
        'admin' => [
            'driver' => 'local',
            'root' => public_path('uploads'),
            'visibility' => 'public',
            'url' => env('APP_URL') . '/uploads',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],

    ],

```

消えたんでおっさんとさよならします。

![スクリーンショット 2021-07-08 3.17.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/826735/f74be945-45f7-b88d-3645-5d44d2fb094a.png)



おっさんとはさよならしましたが、肝心な画像が表示されません。がまた後日。

![スクリーンショット 2021-07-08 3.21.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/826735/795a8302-d71f-3e00-1ede-4506c8f5edc2.png)


※今のところdbalはバージョン2.0が必要な模様

ドキュメント
https://laravel-admin.org/docs/en/#/