我想访问ValidatorService类中的Auth类。
namespace Services\Validators\User;
use \Services\Validators\Validator;
use \Illuminate\Support\Facades\Auth;
class Edit extends Validator {
public static $rules = [
'email' => 'required|unique:users,email,'.Auth::user()->id
];
}
我尝试使用\Illuminate\Support\Facades\Auth
命名空间,但是laravel会抛出异常。
错误:syntax error, unexpected '.', expecting ']'
当我尝试使用Auth :: user() - > id时,Laravel只会抛出异常。 如果我删除Auth :: user() - > id并添加一个数字,例如1,它就可以工作。
我还试图实现Illuminate\Auth\UserInterface
,但它无效。
如何在ValidatorService类中使用Auth类?
编辑:问题已解决 - >向下滚动。
答案 0 :(得分:4)
解决方案:
在a上设置变量时,不能使用函数或变量 类。
感谢AndreasLutro在http://laravel.io/irc
所以我删除了类变量并添加了一个方法。 现在一切都很好。
代码:
class Edit extends Validator{
public static function rules(){
return array(
'email' => 'required|unique:users,email,'.Auth::user()->id
);
}
}
干杯,史蒂文。
答案 1 :(得分:1)
尝试围绕'required|unique:users,email,'.Auth::user()->id
与(
和)
合在一起,看起来像这样:
public static $rules = [
'email' => ('required|unique:users,email,' . Auth::user()->id)
];