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)
答案 0 :(得分:1)
您的User
模型已配置为使用users
表。您在controller
中定义了表格,这是错误的。您需要在protected $table = 'pupil';
App\User.php
答案 1 :(得分:0)
默认情况下,eloquent
将采用以下表格
For Example
如果您的型号名称是
User
然后它将在数据库中搜索users
表
AdminUser
然后它将在数据库中搜索admin_users
表
要更改tablename
假定的默认eloquent
打开当前模型
Not Your Controller
和protected $table = 'yourTableNAme';
希望有帮助