修改我的注册刀片。我添加了2个触发用户注册的附加功能。我需要的数据被保存到适当的表中,但是我有这个错误,
Argument 1传递给Illumate\Auth\SessionGuard::登录()必须实现接口Illumate\合同\Auth\身份验证,布尔值给定,在第35行调用E:\wamp64\www\aftspirdit-appzcoder\供应商\laravel\框架\src\Illumate\Foundation\Auth\注册sers.php
这是我的注册控制器
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Referral;
use App\CollectorMember;
use App\HasRoles;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
class RegisterController extends Controller
{
use RegistersUsers;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware('guest');
}
public function index(Request $request)
{
$referral = '';
$keyword = $request->get('search');
$referral = Referral::where([
['code', $keyword],
['status', 0]
])->first();
if (is_null($keyword))
return view ( 'Auth.register');
elseif ($referral)
return view ( 'Auth.register', compact('referral', $referral))
->withDetails ( $referral )
->withQuery ( $keyword );
else
return view ( 'Auth.register')->withMessage ( 'The code you provided is not EXISTING or not AVAILABLE.' );
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
$user_id = $user->id;
Referral::find($data['referral_id'])->update ([
'status' => 1,
'date_used' => $data['referral_date_used']
]);
return CollectorMember::create ([
'collector_id' => $data['referral_generate_by'],
'borrower_id' => $user_id,
'referral_id' => $data['referral_id'],
]);
}
}
这是什么原因造成的?提前谢谢!
尝试打开注册表Userstrait并查看第35行。未创建用户。
创建用户的原始Laravel控制器代码如下:
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
注意DocBlock如何指示必须返回的用户的实例。这是关键,因为在trait中完成注册的实际代码假定一个有效的用户模型实例。
有时,深入了解代码并了解Laravel在幕后为您做了什么是有帮助的。
我使用solcialite登录Laravel通过Gihub,但有问题登录。我得到一个错误:Symfony\组件\调试\异常\FatalThrowableError(E_RECOVERABLE_ERROR)类型错误:参数1传递给照明\Auth\SessionGuard::登录()必须实现接口照明\合同\Auth\身份验证,空给定,调用 /var/www/html/testio/vendor/lara
我正在尝试发送验证电子邮件,这是给我的错误代码 它给了我以下错误: 传递给App\Http\Controllers\Auth\RegisterController::registed()的参数1必须是App\Http\Controllers\Auth\Request的实例,给定的照亮\Http\Request的实例,在/home/bassel/book\u generation/vendor/la
帮助我理解并解决这些错误。 错误: Symfony\Component\Debug\Exception\FatalThrowableError(E\u RECOVERABLE\u ERROR)类型错误:传递给App\Http\Controllers\Auth\LoginController::authenticated()的参数1必须是App\Http\Controllers\Auth\Reque
我使用的是Laravel5.2。 我在表中添加了一个名为的新字段,并将其包含在视图和 我还做了一个检查,看看用户是否将使用一个保留的slug作为他的用户名,如果是,我抛出一个错误,如果用户名是好的,我保存在数据库中。 我正在检查2个保留的段塞和-这就是我保留的全部。 如果我取消检查,数据将正常保存在数据库中,包括保留的slug。所以我必须做检查。 然而,当我应用检查时,我得到了这个错误 Sessi
传递给Illumate\Auth\SessionGuard::登录()的参数1必须是Illumate\合同\Auth\身份验证的实例,Illumate\Http\重定向响应的实例 我有我的注册控制器,它在创建用户之前检查成员身份是否存在于单独的成员表中。对于现有成员Id,它可以正常工作,但是当用户输入一个不存在的Id时,我需要它重定向到带有错误消息的同一注册页面。但我得到的只是上面的错误。请注意,
传递给Illumate\Auth\EloquentUserProvider的参数1::validateCreentials()必须是Illumate\合同\Auth\身份验证的实例,应用程序\模型\用户给定的实例,在D:\xampp\htdocs\后端\电子商务\供应商\laravel\框架\src\Illumate\Auth\SessionG中uard.php第384行----我有这个问题请帮我