Laravel Lighthouse #2 - Продвинутые Query + type Mutation

Поділитися
Вставка

КОМЕНТАРІ • 11

  • @andreydmitriyev4582
    @andreydmitriyev4582 2 роки тому

    +1

  • @vissteam2892
    @vissteam2892 3 роки тому +1

    Совет по наименованию мутаций от Ильи Климова и гитлаб
    чтобы получать отсортированный список мутаций, например, для пользователя. Называйте их {Object}{Action}
    userUpdate, userDelete, userCreate

  • @aswillhatter
    @aswillhatter 2 роки тому

    Спасибо, очень понятные и интересные ролики!
    Есть такой вопрос, как в graphql-playground задать формат DateTime при выпонении мутации? На варианты "1981-04-07 03:29:30", "1981-04-07T03:29:30" и подобные - выдаются ошибки

    • @pavelzloi
      @pavelzloi  2 роки тому

      Добрый день! Скорее всего в Вашей модели (которая обновляется через мутацию) не сказано что поля в которых хранится время имеют cast типа date.
      Читайте про переменную $dates в которой должны быть перечислены колонки базы хранящие даты.
      Если это сделать то в момент сохранения будет автоматически вызываться Carbon и преобразовывать любую дату в формат совместимый с базой.
      UPD. laravel.com/docs/5.5/eloquent-mutators#date-mutators

  • @compolomus9719
    @compolomus9719 3 роки тому

    Скоупы как то по удобнее, как мне кажется

    • @pavelzloi
      @pavelzloi  3 роки тому

      Поддерживаю, мне они тоже больше нравятся, поэтому я немного тупил когда описывал аргументы builder, ибо в случае с builder нужно use Builder из другого неймспейса брать.

  • @compolomus9719
    @compolomus9719 3 роки тому

    а что за магия в первом аргументе инвока?
    ну и на каждую мутацию, точнее на отдельное круд движение целый класс (файл)

    • @pavelzloi
      @pavelzloi  3 роки тому

      Это так называемый $root, там обьект к с контейнером Lighthouse со всеми системными настройками, классами и зависимостями, иногда он бывает очень полезен, но мне сложно понять почему его не сделалали опциональным и не включают по необходимости через DI ларавелевский (уверен это какой-то древний костыль без которого не получалось заставить Lighthouse работать).

    • @pavelzloi
      @pavelzloi  3 роки тому

      Кстати, забыл сказать про отдельные классы, это опционально (можно юзать встроенный функционал), но если сложность прокта выходит за рамки стандартного функционала (а она в любом случае выходит, ибо потом будет про авторизацию запросов апи токенами), то всё равно придётся создавать классы вручную и там реализовывать авторизацию.

    • @compolomus9719
      @compolomus9719 3 роки тому

      @@pavelzloi да вроде сказал

    • @pavelzloi
      @pavelzloi  3 роки тому

      Это типа было class Answer2 extends Answer1 :)