2013-10-07 167 views
0

我试图第一次发送使用模型,并陷入混乱。当我运行查询时,规则与它链接,是否应该是这样?Laravel 3 - 雄辩查询返回规则

型号:

class User extends Elegant 
{ 
    public static $table = 'users'; 

    protected $rules = array(
     'email' => 'required|email', 
     'firstname' => 'required', 
     'lastname' => 'required', 
     'initials' => 'required|alpha|match:/[A-Z]+/', 
     'role' => 'required|in:writer_fr,writer_en,reader', 
     'password' => 'min:6,max:32|same:password2' 
    ); 

    public static function has_role($role) 
    { 
     //$u = new User; 
     $users = User::where($role, '=', 1)->get(array('firstname', 'lastname')); 
     return $users; 
    } 
} 

控制器

$u = array(); 
$u['writer_en'] = User::has_role('writer_en'); 
dd($u['writer_en']); 

打印出整个模型的规则,消息关系等的逻辑。我做错了什么或这是正常的?

回答

2

在你has_role方法要返回User模型

public static function has_role($role) 
{ 
    //$u = new User; 
    $users = User::where($role, '=', 1)->get(array('firstname', 'lastname')); 
    return $users; // <-- User model 
} 

所以,它的倾销User模型,它在做正确的事,因为它想通过下面的代码

$u = array(); 
$u['writer_en'] = User::has_role('writer_en'); 
dd($u['writer_en']); 

而不是做倾销模型,您可以使用

$user = User::has_role('writer_en'); 
echo $user->firstname; 
echo $user->lastname; 
+0

确定谢谢你,我只是想确保执行整个用户逻辑是正常的:) – veksen

+0

不客气:-) –

+0

并将整个变量传递给您建议反对的视图,或者我应该准备它第一? – veksen