Find or Create with Eloquent

后端 未结 6 1839
我在风中等你
我在风中等你 2020-12-06 04:22

I have recently started working with Laravel and Eloquent, and was wondering about the lack of a find or create option for models. You could always write, for example:

6条回答
  •  無奈伤痛
    2020-12-06 04:34

    Find or New based on primary key id

    $user = User::findOrNew($id); // if exist then update else insert
    $user->name= $data['full_name'];
    $user->save();
    

    First or New based on non-primary key single filed

    // get the record where field_name=value else insert new record
    $user = User::firstOrNew(['field_name'=>'value']); 
    $user->name= $data['full_name'];
    $user->save();
    

    First or New based on non-primary key multiple filed

    // get the record where field_name1=value1 and field_name2=value2, else insert new record
    $user = User::firstOrNew(['field_name1'=>'value1','field_name2'=>'value2']);
    $user->name= $data['full_name'];
    $user->save();
    

提交回复
热议问题