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