php - 在 laravel 4.2 添加之前检查名称是否已存在于数据库中

标签 php database laravel-4

这里是 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/

相关文章:

php - 创建复杂的 hasManyThrough Laravel 4 查询

Laravel 框架大小

javascript - 将一个网站上的输入文本框连接到另一个网站上的输入文本框?

php - 文件获取内容返回 false

php - 通过 mysql 进行 JSON Android 登录验证

mysql - 如何从 Mysql 中存在的表创建 sql 语句

php - 无法使用 hhvm 找到驱动程序 MySQL

$output 中的 php echo

php - 在 Eloquent 查询中使用 Laravel 模型方法

Sqlite 在日期时间上更新日期