SQLSTATE [42S22]:找不到列:1054 未知列 '0' where 子句
Posted
技术标签:
【中文标题】SQLSTATE [42S22]:找不到列:1054 未知列 \'0\' where 子句【英文标题】:SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' where clauseSQLSTATE [42S22]:找不到列:1054 未知列 '0' where 子句 【发布时间】:2021-03-29 12:57:24 【问题描述】:您好,我在 laravel 中遇到了与我的数据库有关的问题。
这是我的登录控制器:
class LoginController extends Controller
function index()
return view('login');
function checklogin(Request $request)
$this->validate($request, [
'name' => 'required',
'password' => 'required'
],
['name.required' => 'Gebruikersnaam is niet ingevuld of niet goed.', 'password.required' => 'Wachtwoord is niet ingevuld of niet goed.']);
$user_data = array([
'name' => $request->get('name'),
'password' => $request->get('password')
]);
if (Auth::attempt($user_data))
return redirect('login/succeslogin');
else
return back()->with('error', 'Verkeerde login gegevens!');
function succeslogin()
return view('succeslogin');
function logout()
Auth::logout();
return redirect('login');
这是我的登录模型:
class Login extends Model
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
这是 SQLSTATE 错误: sqlerror
这就是我这样做时发生的事情:
dd($user_data);
$user_data = array([
'name' => $request->get('name'),
'password' => $request->get('password')
]);
dump
所以我在这里和那里尝试了一些东西,但到目前为止没有任何效果。 似乎它在某处制作了一个额外的数组,但我找不到它.. 有人知道如何解决这个问题吗?
【问题讨论】:
“好像它在某处创建了一个额外的数组,但我找不到它。”array([])
【参考方案1】:
您将凭证数组包装在一个额外的数组中。删除额外的数组包装:
$user_data = [
'name' => $request->get('name'),
'password' => $request->get('password')
];
【讨论】:
谢谢,至少它现在做了一些事情,我确实得到了另一个错误..它现在说 Argument 1 传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 必须是 Illuminate\Contracts\Auth 的一个实例\Authenticatable,给定 App\Login 实例,在 C:\laragon\www\SDE2\vendor\laravel\framework\src\Illuminate\Auth\SessionGuard.php 中调用 您用于身份验证的任何模型都必须实现Illuminate\Contracts\Auth\Authenticatable
接口...检查默认用户模型以查看
请您停止撤消我的近距离投票。这是 ***.com/questions/36065951/… 的明显副本以上是关于SQLSTATE [42S22]:找不到列:1054 未知列 '0' where 子句的主要内容,如果未能解决你的问题,请参考以下文章
SQLSTATE [42S22]:找不到列:1054 未知列 '0' where 子句
SQLSTATE [42S22]:找不到列:1054 未知列 laravel 5.1
SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列'user_id'
Laravel 删除数据 - SQLSTATE [42S22]:找不到列:1054 未知列