- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,我在我的项目中使用了 laravel、mongoDB 和 AdminLTE 模板。对于 mongoDB,我正在使用 jenssegers/laravel-mongodb
。但是现在我在 Laravel Controller 中创建登录身份验证时遇到错误,这是我在 AuthController.php 中的代码
public function postLogin(Request $request)
{
$authUser = User::where('email', '=', $request->email)->first();
if (isset($authUser)) {
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
echo "success";exit;
} else {
echo "fail";exit;
}
} else {
echo "fail";exit;
}
在User.php代码中
<?php
namespace App;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use DB;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Auth\Authenticable as AuthenticableTrait;
class User extends Eloquent implements Authenticatable
{
protected $connection = 'mongodb';
/**
* 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',
];
}
在 User.php 中,如果我只使用像 class User extends Eloquent
这样的 Eloquent,那么就会出现这个错误
Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of App\User given, called in /var/www/html/cams_alphaV1/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php on line 378 and defined
如果我使用 class User extends Eloquent implements Authenticatable
所以得到这个错误
Class App\User contains 6 abstract methods and must therefore be declared abstract or implement the remaining methods (Illuminate\Contracts\Auth\Authenticatable::getAuthIdentifierName, Illuminate\Contracts\Auth\Authenticatable::getAuthIdentifier, Illuminate\Contracts\Auth\Authenticatable::getAuthPassword, ...)
请帮助我,我完全卡住了。
最佳答案
由于您不再使用 Eloquent 模型,您的 MongoDB 用户模型必须实现一些接口(interface)并使用一些特征。这是针对 Laravel 5.2 的:
`use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Illuminate\Auth\Authenticatable;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Eloquent implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;
}`
关于laravel-5 - laravel 身份验证和 jenssegers-mongodb 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37323300/
我正在尝试使用 Laravel/Jenssegers MongoDB 为我的应用程序设置一些简单的收藏夹 我有两个模型: class Item { public function favori
我试图在我的一个应用程序中实现变音符号不敏感的全词搜索。我写了这个查询并且在 MongoDB 终端中运行良好(我使用了 Robo3T)。 [这里我通过了单词'的Unicode转换艾琳 '] db.ge
我想使用 https://github.com/jenssegers/laravel-mongodb为了使用 laravel 5 连接到 Mongodb,我安装了 MongoDB php 驱动程序,然
我正在使用 jenssegers/laravel-mongodb 开发带有 MongoDB 数据库的 Laravel API . 我正在尝试制作一个过滤器以使用正则表达式获取一些特定数据。在这个插件的
我正在尝试获取 MongoDB 中的用户列表。 _id 为空,无法正确处理。如何使用 MongoDB for Laravel 获取文档的 _id? { "total": 1, "per
我正在使用 jenssegers/laravel-mongodb在 Laravel 中: 我在mongodb中的数据结构如下。假设有 100 行像这样 我需要一个查询来向我显示 finance.sel
这是一个open bug on Github对于 laravel-mongodb 包,但没有任何反应。也许有人知道解决方案..? 选择作为单个文档时,日期显示为日期 { "_id": "5ca
大家好,我是 MongoDB 新手,正在寻找答案 有什么方法可以更新嵌套数组而不循环它。 foreach ($post->comments as $key => $comment) { if ($co
我正在尝试将以下 mongoDB 查询与 Laravel Jessanger 结合使用, 但无法将其作为 raw 查询运行。 db.getCollection('users').aggregate([
我有一个查询,它在一个庞大的集合(超过 48M)中查找数据,但即使我添加 timeout=-1 到它,它仍然会抛出 MongoCursorTimeoutException异常(exception)..
你好,我在我的项目中使用了 laravel、mongoDB 和 AdminLTE 模板。对于 mongoDB,我正在使用 jenssegers/laravel-mongodb。但是现在我在 Larav
我有一个带有 mongodb 的网络应用程序,使用 jenssegers 包。 由于我使用的是 mongodb,是否需要创建任何迁移表?Jenssegers 数据库驱动程序也有(有限)schema b
我有一个名为 changes 的 MongoDB 集合,其中包含以下数据 { "date" : ISODate("2014-06-09T00:00:00.000Z"), "field"
我在使用 Laravel 5.5 和 Jenssegers\Mongodb 关联两个 类 时遇到了麻烦。 这是我的用户类: belongsTo(Login::class, 'login');
我从 Mongodb atlas 开始,我试图将我的 laravel/jenssegers 项目连接到我配置我的 conf/数据库的集群 'mongodb' => [ 'driver' =>
我有以下查询,但它返回一个空数组(我知道这个查询应该返回一条记录这一事实) $created_at = date("Y-m"); $content = ContentModel::where('use
我在项目中使用 jenssegers/laravel-mongodb 库。我有一个集合,其中创建了一个包含其他详细信息的子文档。现在我必须实现一个搜索查询来搜索集合的子文档。子文档是 product_
因此,我设法使用 WSL2 在 Windows 中全新安装了 Laravel。我的项目的需求之一是有两个数据库同时运行mysql和mongodb。 我在我的 docker-compose.yml 中添
我正在尝试将 Eloquent 连接到多个数据库 sqlserver 作为默认连接,而 mongodb 作为辅助连接。我正在使用 jenssegers/laravel-mongodb 使用 compo
我正在使用 MongoDB Laravel 5.3 中的库。我在 MongoDB 中有两个集合,我想建立一个 hasMany 关系 b/w。 MongoDB: 第一个集合:员工 { "_id"
我是一名优秀的程序员,十分优秀!