Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (7)
  • Как сравнить два объекта?

    @zordec
    function deepEqual(obj1, obj2) {
      if (typeof obj1 !== "object" || typeof obj2 !== "object") {
        return false;
      }
      if (obj1 === undefined || obj2 === undefined) {
        return false;
      }
      if (obj1 === null || obj2 === null) {
        return false;
      }
      let obj1Keys = Object.keys(obj1);
      let obj2Keys = Object.keys(obj2);
      if (obj1Keys.length !== obj2Keys.length) {
        return false;
      }
      for (let i = 0; i < obj1Keys.length; i++) {
        if (obj2Keys.includes(obj1Keys[i]) === false) {
          return false;
        }
      }
      for (let i = 0; i < obj1Keys.length; i++) {
        if (typeof obj1[obj1Keys[i]] === "object") {
          return deepEqual(obj1[obj1Keys[i]], obj2[obj1Keys[i]]);
        }
        if (obj1[obj1Keys[i]] !== obj2[obj2Keys[i]]) {
          return false;
        }
      }
      return true;
    }
    Ответ написан
    Комментировать
  • Model::updateOrCreate почему не считывает в первом параметре, второй элемент массива?

    @zordec
    Метод updateOrCreate() работает следующим образом:

    1. Поиск существующей записи: Использует первый массив (условия поиска).
    2. Обновление или создание записи:
      • Если запись найдена, значения из второго массива используются для обновления.
      • Если запись не найдена, создаётся новая запись с использованием первого массива для условий и второго массива для заполнения полей.




    В вашем коде отсутствует указание поля crmCompanyID в параметрах для создания записи. Следовательно, Laravel пытается вставить NULL (или пропускает поле), что вызывает ошибку, так как это поле не допускает NULL и не имеет значения по умолчанию.
    Model::updateOrCreate(
        ['amoID' => 43222233], // Условия для поиска
        ['crmCompanyID' => 1, 'updated' => now(), 'created' => now()] // Данные для обновления или создания
    );
    Ответ написан
    2 комментария