Laravel не использует правильный стол - PullRequest
0 голосов
/ 26 января 2019

Laravel выбирает не тот стол, стол users.Я переключил таблицу в config/auth на правильную, но по какой-то причине Laravel по-прежнему использует таблицу users по умолчанию.

Код

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class UserLoginController extends Controller
{
    protected $table = 'pupil';

    public function showLoginForm()
    {
        return view('home');
    }

    public function login(Request $request)
    {
        $this->validate($request, [
            'user' => 'required',
            'password' => 'required|min:3'
        ]);

        $user = User::where('accountName', $request->user)
            ->where('password', $request->password)
            ->first();

        if ($user) {
            Auth::login($user);
            return redirect()->route('neue_anmeldung');
        }

        return redirect()->back()->withInput('email');
    }
}

Я получаю следующее сообщение об ошибке.

SQLSTATE [42S02]: Базовая таблица или представление не найдены: 1146 Таблица «database1.users» не существует (SQL: выберите * из users где accountName = 6001 и password = предел пароля 1)

Ответы [ 2 ]

0 голосов
/ 26 января 2019

По умолчанию eloquent Предполагается, что следующие таблицы

For Example

Если название вашей модели

User Затем он будет искать users таблицу в базе данных

AdminUser Затем он будет искать admin_users таблицу в базе данных

Чтобы изменить значение по умолчанию tablename, предполагаемое eloquent

Откройте текущую модель

Not Your Controller и protected $table = 'yourTableNAme';

Надеюсь, это поможет

0 голосов
/ 26 января 2019

Ваша модель User настроена на использование таблицы users. Вы определили таблицу в вашем controller, что неверно. Вам необходимо определить свойство protected $table = 'pupil'; в вашем App\User.php

...