这里是 Laravel 4.2 新手!我的 Controller 中有这段代码
public function store()
{
//
$rules = array(
'name' => 'required|min:2|max:20|regex:/^[a-zA-Z0-9\-\s]+$/',
'stock' => 'required|numeric|min:1',
'origin' => 'required|min:5|max:200'
);
$validator = Validator::make(Input::all(), $rules);
// process the login
if ($validator->fails()) {
return Redirect::to('weapons/create')
->withErrors($validator)
->withInput(Input::except('password'));
} else {
// check first if the name exists already then store
$weapon = new Weapon;
$weapon->name = Input::get('name');
$weapon->stock = Input::get('stock');
$weapon->origin = Input::get('origin');
$weapon->save();
// redirect
Session::flash('message', 'Successfully created nerd!');
return Redirect::to('create');
}
}
我需要检查这个名字是否已经存在于数据库中;我怎样才能做到这一点?
我可以在 Controller 中声明一个新函数吗?请帮忙。
最佳答案
您可以验证已经在您的规则中:
$rules = array(
'name' => 'required|min:2|max:20|regex:/^[a-zA-Z0-9\-\s]+$/|exists:TableName,name',
'stock' => 'required|numeric|min:1',
'origin' => 'required|min:5|max:200'
);
关于php - 在 laravel 4.2 添加之前检查名称是否已存在于数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32666053/