Php Laravel我如何拒绝重复数据库中的两列

Php Laravel我如何拒绝重复数据库中的两列,php,validation,laravel,laravel-5.2,Php,Validation,Laravel,Laravel 5.2,我有同样的桌子,比如: id | u_id | f_id 我插入了一些数据,如: id = 1; u_id = 5; f_id = 8; 我的问题是,如果用户试图插入相同的数据,我如何拒绝用户插入?每当第一次保存新模型时,创建和创建事件都会触发。如果数据库中已经存在模型,并且调用了save方法,则将触发更新/更新事件。但是,在这两种情况下,保存/保存的事件都将触发 例如,让我们在中定义一个雄辩的事件侦听器。在事件侦听器中,我们将对给定模型调用isValid方法,如果模型无效,则返回fal

我有同样的桌子,比如:

id | u_id | f_id
我插入了一些数据,如:

id   = 1;
u_id = 5;
f_id = 8;

我的问题是,如果用户试图插入相同的数据,我如何拒绝用户插入?

每当第一次保存新模型时,创建和创建事件都会触发。如果数据库中已经存在模型,并且调用了save方法,则将触发更新/更新事件。但是,在这两种情况下,保存/保存的事件都将触发

例如,让我们在中定义一个雄辩的事件侦听器。在事件侦听器中,我们将对给定模型调用isValid方法,如果模型无效,则返回false。从有说服力的事件侦听器返回false将取消保存/更新操作

<?php

namespace App\Providers;

use App\YourModel;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        YourModel::saving(function ($yourModel) 
        {
            if ( ! $yourModel->isValid() ) 
                return false;

        });
    }
}
注意:我猜id会自动递增

希望这有帮助


在数据库表上放置唯一约束。这很快就会成为标志。
public function isValid()
{
    if( $this->u_id = 5 && $this->f_id == 8)
        return false;
    else
        return true;
}