Moh*_*mad 3 php laravel laravel-5 laravel-5.1
我通过这种方式使Request从控制器操作验证请求的值:
namespace App\Http\Requests;
use App\Http\Requests\Request;
class AccountsRequest extends Request {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize() {
return TRUE;
}
public function rules() {
return [
'email' => 'email|required|max:255|unique:accounts',
'password' => 'min:6|required'
];
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用默认数据库,一切都很好,但对于此验证,我需要检查其他数据库中的表.在配置中我有两个数据库:
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'sait'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'mysql2' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'account'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
Run Code Online (Sandbox Code Playgroud)
当我调用验证时,它正在我的默认数据库中通过"唯一"规则进行检查,因此我需要更改它,但我无法在任何地方找到如何执行此操作.
根据docs 唯一 - 自定义数据库连接 而不是
'email' => 'email|required|max:255|unique:accounts',
你需要做的
'email' => 'email|required|max:255|unique:mysql2.accounts',
我猜你的mysql2并没有提到.
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |