验证检查(如果 1 等于数据库中的某个值)Laravel 5
Validation check (if 1 equal to some value from database) Laravel 5
Laravel 5 中是否有任何方法可以检查某个值是否与数据库中的值相等?
这是我尝试做的事情:我有 table users
并且在 table 用户中我有额外的列 admin_id
。在验证中,我需要检查 admin_id
表单数据库是否等于 1
.
这是我当前的代码:
$inputs = array(
'projects' => Input::get('project'),
'users' => Input::get('workers')
);
$rules = array(
'projects' => 'required',
'users' => 'required'
);
$validator = Validator::make($inputs,$rules);
if($validator->fails()){
return false;
}else{
return true;
}
$rules = array(
'users' => 'exists:users,admin_id'
);
其中用户 table 姓名。可以看到你也想使用用户作为表单字段名称
我不知道这里输入的 users
是什么 - 是来自 users
table 吗?如果是,您可以这样创建规则:
$rules = array(
'projects' => 'required',
'users' => ['required', 'exists:users,id,admin_id,1']
);
所以现在将验证 users
是否与 users
table 中的 user_id
匹配,其中 admin_id
等于 1
.
您还应该考虑 Laravel 5
请求对象来验证输入。它比将代码放在 Controller/Model/Repository 中要干净得多。 More about Requst Validation.
$rules = array(
'projects' => 'required',
'users' => [
'required',
Rule::exists('users', 'id')->where(function ($query) {
$query->where('admin_id', 1);
}),
],
);
或者如果 admin_id 是动态的,则使用:
$variable = 1;
$rules = array(
'projects' => 'required',
'users' => [
'required',
Rule::exists('users', 'id')->where(function ($query) use ($variable) {
$query->where('admin_id', $variable);
}),
],
);
Laravel 5 中是否有任何方法可以检查某个值是否与数据库中的值相等?
这是我尝试做的事情:我有 table users
并且在 table 用户中我有额外的列 admin_id
。在验证中,我需要检查 admin_id
表单数据库是否等于 1
.
这是我当前的代码:
$inputs = array(
'projects' => Input::get('project'),
'users' => Input::get('workers')
);
$rules = array(
'projects' => 'required',
'users' => 'required'
);
$validator = Validator::make($inputs,$rules);
if($validator->fails()){
return false;
}else{
return true;
}
$rules = array(
'users' => 'exists:users,admin_id'
);
其中用户 table 姓名。可以看到你也想使用用户作为表单字段名称
我不知道这里输入的 users
是什么 - 是来自 users
table 吗?如果是,您可以这样创建规则:
$rules = array(
'projects' => 'required',
'users' => ['required', 'exists:users,id,admin_id,1']
);
所以现在将验证 users
是否与 users
table 中的 user_id
匹配,其中 admin_id
等于 1
.
您还应该考虑 Laravel 5
请求对象来验证输入。它比将代码放在 Controller/Model/Repository 中要干净得多。 More about Requst Validation.
$rules = array(
'projects' => 'required',
'users' => [
'required',
Rule::exists('users', 'id')->where(function ($query) {
$query->where('admin_id', 1);
}),
],
);
或者如果 admin_id 是动态的,则使用:
$variable = 1;
$rules = array(
'projects' => 'required',
'users' => [
'required',
Rule::exists('users', 'id')->where(function ($query) use ($variable) {
$query->where('admin_id', $variable);
}),
],
);