我想添加一个自己的规则来检查我的"是否活跃"允许标志设置。 我只想在此查询没有结果时设置此标志:
$playlist = Playlist::whereRaspberryId($raspberry_id)->whereActive(1)->first();
我的验证规则到目前为止:
Validator::extend('onlyOneActive', function($attribute, $value, $parameters)
{
$playlist = Playlist::whereRaspberryId($parameters['raspberry_id'])->whereActive(1)->first();
if($playlist) {
return false;
}else{
return true;
}
});
我的问题是参数。这是我表单中另一个字段的值。 但我怎么得到它?
这是我的$ rules数组:
# Validate Rules
private static $rules = array(
'name' => 'required',
'active' => 'onlyOneActive:raspberry_id',
);
问题: 在我自己的规则中,参数只有这个:
Array
(
[0] => raspberry_id
)
这是合乎逻辑的。但是我想从我的表单中获取raspberry_id,而不是字符串.. 怎么让我成为id?
这不起作用:
# Validate Rules
private static $rules = array(
'name' => 'required',
'active' => 'onlyOneActive:'.Input::get('raspberry_id'),
);
得到错误:
syntax error, unexpected '.', expecting ')'
有人有想法吗? 谢谢!
答案 0 :(得分:0)
最后我明白了.. 我在我的规则中直接使用Input :: get(' raspberry_id)。 这是一个糟糕的解决方案吗?
Validator::extend('onlyOneActive', function($attribute, $value, $parameters)
{
$playlist = Playlist::whereRaspberryId(Input::get('raspberry_id'))->whereActive(1)->first();
if($playlist) {
return false;
}else{
return true;
}
});