Laravel+FatalErrorException in Collection.php line 11:未找到接口“Illuminate\Contracts\Queue\JumeableCollection”

iecba09b  于 2023-10-15  发布在  PHP
关注(0)|答案(3)|浏览(142)

我有这个密码

use App\User;

use Auth;

use App\Http\Controllers\Controller;

use App\Libraries\CustomLib;

class UsersController extends Controller
{

   public function postLogin(){
        // var_dump($_POST);
        $email = \Input::get('username');
        $password = \Input::get('password');

        $user = User::where("email",$email)->first();
        var_dump($user_info);
  }
}

我收到这个错误:

FatalErrorException in Collection.php line 11: Interface 'Illuminate\Contracts\Queue\QueueableCollection' not found

不知道这是什么意思。
任何想法请如何解决这个问题。
谢谢你,谢谢

72qzrwbm

72qzrwbm1#

我通过在此链接中下载可扩展集合. php解决了这个问题:https://github.com/illuminate/contracts/tree/master/Queue
看起来那个文件在 composer 更新的时候没有被拉出来。但我不确定。
Thanks SO!:)

qgelzfjb

qgelzfjb2#

我更新我的 composer 使用旧版本的illuminate/数据库,它现在正在工作。我想问题出在新版的口才。"illuminate/database": "5.2.*""illuminate/database": "5.2.21"

j2datikz

j2datikz3#

这个特殊的错误意味着从数据库中检索到的记录集合作为Laravel集合没有实现可扩展集合接口中列出的特定方法。这通常是由于缺少依赖性。通常,Laravels模型允许序列化。在这种情况下,这是因为用户模型可以用来发送电子邮件,提醒密码等。当这个接口缺失时,Laravel抛出一个异常,说明所需的组件无法示例化。这种方法也被称为“接口编码”。
更多信息:
您似乎正在尝试手动身份验证。请确保您的App\User模型实现Authenticatable:

use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticable;
use Illuminate\Auth\Authenticable as AuthenticableTrait;

class User extends Model implements Authenticable {
    use AuthenticableTrait;
}

文档中对此进行了介绍
https://laravel.com/docs/5.2/authentication#authenticating-users
为了保存您的站点之旅,这里是他们的示例的释义,使用您的示例:

use App\User;

use Auth;

use Illuminate\Support\Facades\Auth;

use App\Http\Controllers\Controller;

use App\Libraries\CustomLib;

class UsersController extends Controller
{

    public function postLogin()
    {
        $email = \Input::get('username');
        $password = \Input::get('password');

        if (Auth::attempt(['email' => $email, 'password' => $password])) {
            // Authentication passed. Redirect to "dashboard"
            return redirect()->route('dashboard');
        }
    }

}

现在可以通过Auth Facade访问用户的详细信息:

Auth::user()->name;
Auth::user()->email;
Auth::user()->id;

Auth::user()绑定到会话。如果启用,记住令牌也被设置为cookie,允许登录持续超过会话过期时间限制(我相信默认值是2小时)。
更多信息请参阅:
https://laracasts.com/discuss/channels/general-discussion/laravel-5-authattemp-method?page=1
**Edit:**引入模型的调整,纠正了继承

相关问题