Laravel Model请求唯一的两列

时间:2018-06-17 14:03:24

标签: laravel eloquent

我的网站中有一个名为Fund的模型。我在FundRequest目录中创建了\Requests,这是规则

public function rules()
{
    $model = new Fund();
    $table = $model->getTable();
    return [
        'expenditure' => [
            'required',
            'numeric',
        ],
        'date' => [
             'required',
             Rule::unique($table)->ignore($this->id)
        ],
    ];
}

date必须是唯一的,并且完美无缺。但最近已将一列user_id添加到此模型中,dateuser_id的组合现在必须是唯一的。如何在FundRequest中添加此约束?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

public function rules()
{
    $model = new Fund();
    $table = $model->getTable();
    return [
        'expenditure' => [
            'required',
            'numeric',
        ],
        'date' => [
             'required',
             Rule::unique($table)->ignore($this->id)
        ],
        'user'=>'unique:user_id'
    ];
}

答案 1 :(得分:1)

试试这个:在unique中添加多个列。

'date' => "unique:tableName,date,user_id"