【问题标题】:how to solve Laravel 6.0 error upload file如何解决 Laravel 6.0 错误上传文件
【发布时间】:2020-03-12 17:34:12
【问题描述】:

我正在尝试向数据库输入一些数据 我无法将一些数据输入数据库,因为我收到了那个错误 但我可以在我的项目中使用多重身份验证登录

我遇到了一些错误

我该如何解决这个错误?

控制器

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Jurusan;
use Auth;
class AdminActionsController extends Controller
{
    public function addjurusan(Request $request)
    {

        $jurusan = new Jurusan();
        $jurusan->nama_jurusan=$request->nama;
        $file=$request->file('fotohimpunan');
        if (!$file) {
            return redirect()->route('in.jurusan')->with('alert','foto harus diisi!');
        }
        $file_name=$file->getClientOriginalName();
        $path=public_path('/img');
        $file->move($path,$file_name);
        $jurusan->fotohimpunan='public/img/'.$file_name;
        $jurusan->status='disable';
        // dd($jurusan);
        $jurusan->save();


        return redirect()->route('in.jurusan');
    }
}

守卫

<?php
return [
    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],
    // Guard
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
        'admin' => [
          'driver' => 'session',
          'provider' => 'admin',
        ],
        'admin-api' => [
            'driver' => 'token',
            'provider' => 'admin',
        ],
        'panitia' => [
          'driver' => 'session',
          'provider' => 'panitia',
        ],
        'panitia-api' => [
            'driver' => 'token',
            'provider' => 'panitia',
        ],
        'mahasiswa' => [
          'driver' => 'session',
          'provider' => 'mahasiswa',
        ],
        'mahasiswa-api' => [
            'driver' => 'token',
            'provider' => 'mahasiswa',
        ],

    ],
    //  Providers
    'providers' => [
        'panitia' => [
            'driver' => 'eloquent',
            'model' => App\Panitia::class,
        ],
        'admin' => [
          'driver' => 'eloquent',
          'model' => App\Admin::class,
        ],
        'mahasiswa' => [
          'driver' => 'eloquent',
          'model' => App\Mahasiswa::class,
        ],

    ],
    // Password
    'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],
];

我该如何解决我的问题,请帮助我 我可以使用多重身份验证登录,但如果我尝试输入一些数据,我会收到该错误

【问题讨论】:

  • 什么中间件被分配给指向你的addjurusan方法的路由?
  • Route::get('inputjurusan', 'AdminActionsController@addjurusan')->name('input.jurusan') ->middleware('auth:admin');
  • 这是默认的auth 中间件吗?并做一个php artisan route:list --name=input.jurusan,看看它是否分配了不仅仅是auth:admin
  • web,auth: 路由列表中的管理中间件
  • 好的,非常感谢:D

标签: laravel


【解决方案1】:

您没有users 提供者:

'providers' => [
    'panitia' => [
        'driver' => 'eloquent',
        'model' => App\Panitia::class,
    ],
    'admin' => [
      'driver' => 'eloquent',
      'model' => App\Admin::class,
    ],
    'mahasiswa' => [
      'driver' => 'eloquent',
      'model' => App\Mahasiswa::class,
    ],

],

web 防护设置为使用名为 users 的提供程序:

    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

您需要调整它以使用您已注册的provider,或添加users 提供程序。

您是否打算使用web 保护您正在命中的哪条路线并收到错误?您可能打算完全使用不同的防护装置。

【讨论】:

  • 这就是为什么没有 users 提供程序,而 web 防护设置为使用该提供程序
  • 你的配置缓存了吗? php artisan config:clear 只是为了确定
  • 如果您不打算使用 web 保护,我不会将其设置为默认值
猜你喜欢
  • 2023-01-18
  • 2022-01-24
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
  • 2015-05-07
  • 1970-01-01
  • 2018-03-31
相关资源
最近更新 更多