【问题标题】:Laravel validation with condition on a specific column使用特定列上的条件进行 Laravel 验证
【发布时间】:2020-09-25 10:34:39
【问题描述】:

我想让一个字段唯一,但只有一个条件。仅当 pitch_id 相同时,我的事件表中的字段 start_date 才应该是唯一的。

澄清一下:如果间距不同,预订开始日期可以是相同的日期。我的意思是,如果开始日期和音高 ID 是唯一的,则不应通过。

这是我的代码:

public function store(Request $request)
{    
    $this->validate($request, [
        'start_date' => ['unique:reservations']
    ]);

    $events = new Reservation();
    $events->type = $request->get('type');
    $events->start_date = $request->get('start_date');
    $events->end_date = $request->get('end_date');
    $events->pitch_id = $request->input('pitch_id');
    $events->save();
    return redirect('Reservations')->with('success', 'réservation crée avec succès');
}

【问题讨论】:

标签: php laravel laravel-5 eloquent laravel-validation


【解决方案1】:
public function store(Request $request) {
    $this->validate($request, [ 'start_date' => ['unique:reservations,start_date,NULL,NULL,pitch_id,'.$request->input('pitch_id')]
    ]); 
    $events = Reservation::create($request->all());
    return redirect('Reservations')->with('success', 'réservation crée avec succès');
}

https://laravel.com/docs/8.x/validation#rule-unique

【讨论】:

    猜你喜欢
    • 2019-01-29
    • 2018-09-26
    • 2023-03-20
    • 2011-02-21
    • 2017-09-05
    • 2016-06-29
    • 2014-03-19
    • 2011-06-24
    • 1970-01-01
    相关资源
    最近更新 更多