Задать вопрос
Ответы пользователя по тегу Laravel
  • Model::updateOrCreate почему не считывает в первом параметре, второй элемент массива?

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

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




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

    @zordec
    покажите вашу миграцию avatar
    должно быть так
    $table->unsignedBigInteger('user_id');
    $table->foreign('user_id')
              ->references('id')->on('users')
              ->onDelete('cascade');

    Этот метод в avatar модель
    public function user()
        {
            return $this->belongsTo(User::class);
        }

    Чтобы получить аватар в контроллере
    $user = User::find(1);
    $firstUserAvatar = $user->avatar->img;

    Ну вроде как то так должно работать, необходимо попробовать.
    Ответ написан
    Комментировать