【问题标题】:check if the data already exists in table get the id of the row laravel检查表中是否已经存在数据获取行的id laravel
【发布时间】:2022-01-07 10:48:47
【问题描述】:

我想在数据库中存储数据时添加一个条件,如果电话号码已经存在于表中,则获取用户 ID!否则添加一个新用户怎么做?

 function store(Request $request){

    if (Client::where('phone_number', '=', Input::get('phone_number'))->exists()) {
        // user found 
     }

   $client = new client();
   $client->name = $request->get('name');
   $client->phone_number = $request->get('phone_number');
   $client->email = $request->get('email');
   $client->save();


   return redirect('faq')->with('success', 'Task Created Successfully!');
}

【问题讨论】:

    标签: mysql laravel


    【解决方案1】:

    为什么不使用updateOrCreate

    Client::updateOrCreate(
        ['phone_number' => $request->get('phone_number')],
        ['name' => $request->get('name'), 'email' => $request->get'email')],
    );
    

    如果您只需要获取或创建Client 而不更新它们,请改用firstOrCreate

    【讨论】:

      【解决方案2】:

      你可以像这样使用你的逻辑。

          function store(Request $request){
          $client =  Client::where('phone_number', '=', Input::get('phone_number'))- 
          >first();
      
          if (empty($client)) {
              $client = new client();
           }
         
         $client->name = $request->get('name');
         $client->phone_number = $request->get('phone_number');
         $client->email = $request->get('email');
         $client->save();
      
      
         return redirect('faq')->with('success', 'Task Created Successfully!');
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-04
        • 1970-01-01
        • 2020-02-04
        • 2015-07-12
        • 1970-01-01
        相关资源
        最近更新 更多