1

我正在使用 Laravel 4 中的 PostsController 将帖子添加到数据库

我使用数据库中的 url 字段来确定我用于显示帖子 url 例如 url = example-url 将意味着帖子的 url 将是 example.com/example-url

我的商店功能如下所示:

public function store()
{
        $input = Input::all();

        $v = Validator::make($input, Post::$rules);

        if($v->passes())
        {
            $this->post->create($input);

            return Redirect::route('cms.index');
        }

        return Redirect::route('cms.create')
            ->withInput()
            ->withErrors($v)
            ->with('message', 'There were validation errors.');
}

检查输入的网址是否已存在于另一个帖子的最佳方法是什么?

谢谢!

4

2 回答 2

5

我会在验证步骤中检查它。将此规则添加到您的验证规则集中。此规则自动检查数据库中的给定值,如果找到相同的 url,验证将不会通过。

'url' => 'unique:posts'

有关验证的唯一规则的更多信息在这里http://laravel.com/docs/validation#rule-unique

于 2013-07-08T07:55:51.037 回答
4

简单 - 你想要唯一的验证规则

将此添加到您的规则中

array('url' => 'unique:posts'),
于 2013-07-08T07:55:31.807 回答