【问题标题】:Laravel array of object update failing for unique emailLaravel 对象更新数组因唯一电子邮件而失败
【发布时间】:2021-08-26 07:18:09
【问题描述】:

我正在使用 Laravel 6。我有一个发送人员数组的 API,有些是需要更新的现有对象,有些是需要创建的新对象。创建部分有效,但由于“唯一电子邮件的重复条目”更新失败。我在控制器中使用函数

    class AdminController extends Controller
    {
    public function userTransfer()
    {
    $caremanagementUserData = Admin::on('validated')->get();

    $caremanagementUserData->each(function($userData)
    {
        if(User::where('email', '=', $userData['email'])->exists()) {

            User::on('mysql')->where('id', '=',$userData['id'])->update([
                'username'     => $userData['username'],
                'email'        => $userData['email'],
                'password'     => $userData['password']
            ]);
        } else {
            User::on('mysql')->insert([
                'username'     => $userData['username'],
                'email'        => $userData['email'],
                'password'     => $userData['password']
            ]);
        }
    });
}

}

帮我了解如何在更新数组中发送电子邮件以解决唯一电子邮件错误。

【问题讨论】:

    标签: laravel-6


    【解决方案1】:

    我找到了解决问题的方法。因为电子邮件是唯一的,并且是否正在检查电子邮件是否存在

        if(User::where('email', '=', $userData['email'])->exists()) 
        {}
    

    应该从对象数组中省略电子邮件更新,如果发送新电子邮件,它将作为新数据插入。它对我有用!

    【讨论】:

      猜你喜欢
      • 2020-03-30
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 2019-01-26
      • 2016-04-21
      相关资源
      最近更新 更多