Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

P81CFM's avatar

Checking if a record is already available with exception

Hi guys

I managed to update a record with the data coming from a form.

this is the function

public function update(Language $language) {

    $language_data = Language::find($language)->first();

    $this->validate(request(), [
        'eng_name' => 'required',
        'language' => 'required|unique:languages',  
        'iso'  => 'required|max:2|min:2',
        'flag' => 'required'
    ]);

    if($language_data) {
        $language_data->language = request('language');
        $language_data->eng_name = request('eng_name');
        $language_data->iso = request('iso');
        $language_data->flag = request('flag');
        $language_data->update();
    }

    
    return redirect('/adm/languages/');

}

The code is working but now I receive an error because if I modify a Language the error that the Language is already taken is throw. So before when I was working on PHP I used to query the mySQL database with something like ... WHERE language = 'Language_from_request' AND id <> $language

How can I replicate this behavior?

Thanks a lot

0 likes
3 replies
P81CFM's avatar

Perfect,

the validation now is as following:

$this->validate(request(), [
        'eng_name' => 'required',
        'language' => 'required',  
        'iso'  => 'required|max:2|min:2',
        'flag' => 'required',
        Rule::unique('languages')->ignore($language)
        
    ]);

and it works

Thank you

Cronix's avatar

Sure thing, please mark as solved.

Please or to participate in this conversation.