2016-05-23 82 views
0

我正在嘗試在我的Laravel應用程序中註冊用戶。我只想註冊已經在employees表中的用戶。我該怎麼做?僅註冊Laravel的員工

protected function validator(array $data) { 
    $names = \App\ Employee::all() - > lists('name') - > toArray(); 
    return Validator::make($data, [ 
     'name' => 'required|max:255|in_array:names', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|min:6|confirmed', 
    ]); 
} 

回答

1

您沒有對您的Employee表的請求時,你可以在此使用驗證規則exists實現:

存在:表,列

The field under validation must exist on a given database table.

PHP

protected function validator(array $data) { 
    return Validator::make($data, [ 
     'name' => 'required|max:255|exists:employee,name', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|min:6|confirmed', 
    ]); 
} 
+0

這很好。我認爲'email'字段應該是你應該檢查的字段,而不是'name',因爲它是一個唯一的標識符。 –

+0

不,它的名字;,)看OP問題 –

+0

好的謝謝,是的,我看到它,但我認爲他應該做這個檢查與電子郵件,而不是名稱。 –