Laravel 4 - 在验证类中访问Auth类

时间:2014-01-18 17:57:15

标签: php authentication namespaces laravel-4

我想访问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 ']'

enter image description here

当我尝试使用Auth :: user() - > id时,Laravel只会抛出异常。 如果我删除Auth :: user() - > id并添加一个数字,例如1,它就可以工作。

我还试图实现Illuminate\Auth\UserInterface,但它无效。

如何在ValidatorService类中使用Auth类?

编辑:问题已解决 - >向下滚动。

2 个答案:

答案 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)
];