php - 如何避免用户提交的MySQL数据库存储重复内容

标签 php mysql laravel

我正在创建一个网站,允许用户列出最多 5 家与他们相关的公司。当其他用户搜索这些公司时,与该公司关联的所有用户都会显示在搜索结果中。

公司将由用户通过文本输入字段提交。

如何避免用户提交重复的公司?例如。如果UserA提交一个公司叫stackoverflow,然后UserB来也提交stackoverflow,我的数据库里就会有2个stackoverflow。

我有 3 个表:

用户表

id|用户名|邮箱

公司表

编号|公司名称

用户公司表

id|用户ID|公司ID

我正在使用 Laravel 5

最佳答案

你真的应该使用Laravel Validation和关键字 unique 来处理这个:

$this->validate($request, [
        'company' => 'required|unique:company|max:255'
]);

此外,您可以使用自定义 Request 类来处理 form validation :

public function rules()
{
    return [
        'company' => 'required|unique|max:255'
    ];
}

如果我是你,我会使用第二个。

关于php - 如何避免用户提交的MySQL数据库存储重复内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36166925/

相关文章:

php - Paypal api成功或失败

PHP:如何为存储过程使用日期间隔?

php - 无法使用PHP将数据从excel上传到mysql

mysql - 使用 Laravel 将日期值插入日期字段

php - 从 php 调用时 python 输出无法正确输出

php - 仅对修改后的行使用 PHP_CodeSniffer

python - 使用 python 多处理时,mysql 得到不同的结果

mysql - 带前置条件的复杂 MySQL 表选择/连接

php - Laravel 查询生成器 - groupBy、map、sortBy/orderBy

twitter-bootstrap - Modal 中的 Vue.js AJAX 调用