Laravel создание Блога 25. Внедряем роли для пользователей и улучшаем валидацию для апдейта

Поділитися
Вставка
  • Опубліковано 2 лют 2025

КОМЕНТАРІ • 93

  • @kashevsky
    @kashevsky 2 роки тому +14

    Как приятно, когда никакой воды и все структурировано по плейлистам и хорошо поставленная речь. Моя девушка говорит, что слезы наворачивались, когда вы просили набрать 10 лайков. Я уже столько всего пересмотрел на ютюбе, и все это ни в какое сравнение с вашим материалом. Надеюсь, что у вас все будет хорошо. Вы сделали что-то великое и максимально ценное для таких людей, как я. Грустно, что так мало активности тут. И то, как вы на энтузиазме с небольшим количеством подписчиков и активности продолжали делать столько материала заслуживает уважения.

    • @laravelcreative
      @laravelcreative  2 роки тому +2

      Спасибо большое)! Да к счастью, всё хорошо:) Благодарю!)

    • @ramazanstudy570
      @ramazanstudy570 Рік тому +1

      ну вот, канал к счастью набирает обороты потихоньку

  • @Василий-ч9о1ь
    @Василий-ч9о1ь 2 роки тому +22

    В апдейт реквесте, если написать строчку по другому то не надо будет плясать с бубном со скрытыми полями.
    'email' => 'required|email|unique:users,email,'.$this->user->id,
    За уроки большое спасибо. Очень помогают учиться.

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

      РИЛ

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

      РИЛ

    • @augcat50
      @augcat50 2 роки тому +2

      Ух ты. Не знаю как это работает, но работает. Спасибо, не зря в комментарии заглянул. Этот комментарий следовало бы закрепить.
      p.s. Надо заглянуть в документацию по валидации, разобраться как работает эта магия

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

      В апдейт реквесте я просто убрал unique:users, и у меня вроде как работает

    • @Василий-ч9о1ь
      @Василий-ч9о1ь 2 роки тому

      @@s3raph443 проверь..можешь ли ты поставить такой же емейл как у кого то еще

  • @seobut1819
    @seobut1819 3 роки тому +3

    Ура!))) Новый выпуск) Никогда и не за что не останавливайтесь)

  • @vimitali7630
    @vimitali7630 3 роки тому +2

    Спасибо, за урок! Очень крутая и простая подача материала! Лучший курс по Laravel в разрезе создания блога! Совместно с "базовыми курсами" от автора - вообще ТОП! Автор огромная тебе благодарность и низкий поклон за труды.

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

      Благодарю, спасибо большое)!)!

  • @igorsss5810
    @igorsss5810 Рік тому

    Да это просто лучший курс, что я видел.

  • @АндрейГалушко-е9о
    @АндрейГалушко-е9о 3 роки тому

    Кайф уроки! спасибо! наглядно видно как сложные вещи реализованы очень и очень просто!

  • @e314max
    @e314max 11 місяців тому

    Боярин, низкий вам поклон за сие чудо дивное!

  • @volodymyrvikarchuk247
    @volodymyrvikarchuk247 3 роки тому +4

    Спасибо за качественную подачу!
    Однозначно продолжай и усложняй для нас, чтобы мы с твоей помощью также росли.
    А я не смог остановиться и пролайкал все твои видео. Лишь бы ты не терял мотивацию и продолжал нас радовать качественным контентом.

    • @laravelcreative
      @laravelcreative  3 роки тому +2

      Ахах благодарю) Да, работаем дальше))) Успехов развтии)

  • @Silver-Parallaxis
    @Silver-Parallaxis Рік тому

    Отличные уроки!

  • @Mr.Capone-
    @Mr.Capone- 3 роки тому +3

    Good! Very, very GOOD!)

  • @albor7599
    @albor7599 2 роки тому +1

    Спасибо за уроки!!! После добавления скрытого поля , форму выбора роли edit куда дели?

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

    Отличный контент, многое подчеркнул для себя!

  • @NaizerCoder
    @NaizerCoder 11 місяців тому

    Почему используем именно константы?

  • @КосмоЁжик-е7т
    @КосмоЁжик-е7т 2 роки тому

    Благодарю за урок

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

    Спасибо огромное

  • @soundofsoul8731
    @soundofsoul8731 Рік тому

    Вітаю ШЕф.

  • @Olegcowboyoleg
    @Olegcowboyoleg 10 місяців тому

    Что за классный значок у автора возле поля password? В коде не нашёл )))

  • @ЯрославАндроид-й7ч

    Класс, спасибо

  • @cpentyc
    @cpentyc 9 місяців тому

    Если мы под будущую таблицу делаем ключи то не с 0 надо начинать, а с 1.

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

    Подскажите пожалуйста - при добавлении input с hidden, при обновлении пользователя, получаю ошибку - SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_id' in 'field list'
    Получается, что в валидации есть поле ''user_id' и оно должно писаться в таблицу? А почему у Вас такой ошибки нет и где я мог ошибиться?

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

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

    • @sam_korsh
      @sam_korsh Рік тому

      @@laravelcreative нет, дело в том, что через валидацию проходит значение "user_id", и попадает в $data, после чего $user->update($data);, но, в таблице "users" нет поля "user_id"

  • @костяпригоровский
    @костяпригоровский 2 роки тому +1

    Здравствуйте, спасибо за уроки! Почему то все равно выходит ошибка SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_id' in 'field list'. Не понимаю почему MySQL у вас пропускает user_id, а у меня ругается что этого поля нет в таблице

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

      Наверно у меня там не mysql а sqlite, я уже не помню) Если нет user_id, то скорее всего, либо нет пользователя с таким id, либо нет колонки user_id, либо идёт обращение в модель с другой таблицей, где нет юзер_айди. Внимательно посмотри)

    • @Olegcowboyoleg
      @Olegcowboyoleg 10 місяців тому

      {{-- Hidden field--}}

      В таблице этого поля нет, оно есть в модели User, которую мы забираем из edit.blade.php в скрытом поле.
      И ID мы не вносим в таблицу и не должны искать колонку с такими данными, её нет.
      'user_id'=>'required|integer|exists:users,id',
      юзер_ид нам нужна для проверки существования пользователя с id==user_id (которую мы получаем из edit.blade.php)

  • @НиколайСоловьев-т4ц

    На 10:53 ты скопировал div затем удалил его, прописал input, а потом ты этот div куда его вставил?

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

      Просто копируешь выше стоящее div с form-group классом, и внутри удаляешь всё содержимое и там пишешь инпут. Это всё делается на странице edit.blade.php у пользователей.

    • @НиколайСоловьев-т4ц
      @НиколайСоловьев-т4ц 3 роки тому

      @@laravelcreative Спасибо! Ты просто быстро сделал, не разглядел на монтаже. Все большое спасибо! Все заработало)

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

      Благодарю!)

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

      как вы решили эту проблему куда содержимое дива которое мы удалили вставлять ?

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

    камент для продвижения

  • @НиколайСоловьев-т4ц

    Как на экране списка пользователей вывести роль каждого, как обратиться к массиву и вывести именно что это администратор или читатель, а не 0 или 1.

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

    Отлично всё подается, большое спасибо, а как на экране списка пользователей показать роль каждого, как обратиться к масиву и вывести именно что это администратор, а не 0 или 1

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

    выдает такую ошибку после добавления inputa , и попытке сделать обновления юзера
    SQLSTATE[42S22]: Column not found: 1054 Unknown column 'email7' in 'where clause' (SQL: select count(*) as aggregate from `users` where `email7` =
    и куда вставить наш select который на 10:38 был вырезан ?

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

      Не может найти атрибут(колонку) email7 в таблице. Может опечатка?:)

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

      @@laravelcreative скорее всего но я даже ума не приложу где эта опечатка сидит

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

      там где ты работаешь с атрибутом email, у тебя написано 'email7'

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

      @@laravelcreative 7 это не опечатка а номер по счету емайла
      Получается я создал 7 пользователей если сделаю ещё одного то будет email8 , email 9 и так далее

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

      Судя по ошибке ты ищешь атрибут в бд с таким названием:) Unknown column 'email7'

  • @ЮрийСвириденко-ю8ц

    Привет, спасибо за труд. Почему когда в правилах валидации для name указываем string, то при добавлении или обновлении пользователя пропускает (добавляет в БД) и 123, и булево значение, и массив)))? Для теста попробовал прописать вместо string integer, ввёл текст и выскочило сообщение, что валидацию не прошло.

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

      Потому что происходит приведение))) это автоматически. Поле у тебя Input type="text", это даже на уровне html делается, если не ошибаюсь)

    • @ЮрийСвириденко-ю8ц
      @ЮрийСвириденко-ю8ц 3 роки тому

      @@laravelcreative Спасибо тебе огромное.

  • @spitzer4077
    @spitzer4077 2 роки тому +1

    Пришлось повозиться с концовкой, но по своей вине.. вместо 'user_id' => 'required|integer|exists:users,id', написал 'user_ud' => 'required|integer|exists:users,id', и доооолго искал ошибку, и вот очень жаль что в таких случаях в Laravel судя по всему не предусмотрен какой-то Notice вроде "У вас неизвестное поле в файле таком-то в функции rules()", и PhpStorm не подсветил ничего, т.е. один символ случайно ставишь не тот, и нет встроенных средств во фреймворке распознать это, а вот очень напрасно.

    • @Olegcowboyoleg
      @Olegcowboyoleg 10 місяців тому

      Это текстовое поле с кавычками. Там ты можешь писать бесконтрольно. И проверялка в текстовые поля не лезет. Если нету нужного ключа - программа просто идет дальше.

    • @spitzer4077
      @spitzer4077 10 місяців тому

      @@Olegcowboyoleg и это плохо

  • @rasa2946
    @rasa2946 2 роки тому +1

    20 минут потратил что бы понять что я отправляю ivan с маленькой буквой, из за чувствительности к регистеру unique казалось не работает)

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

    Вы не автор книги Laravel 8 случайно?

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

      Привет, нет)

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

      @@laravelcreative Смотрел про bootstrap ролик и одновременно смотрел в книгу, очень похоже было)

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

      Ааа надо же, интересно как и лестно)

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

    слушай а не лучше для глаз писать валидацию не в строку а в масивах ?
    'title' => ['required', 'unique:posts', 'max:255'],
    'body' => ['required'],

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

      Как удобно, так и пиши, это не принципиально) Если только не стандарты в компании:)

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

      @@laravelcreative Понятно! Спс

  • @ВячеславТараканов-б9и

    Ну вот еще один урок пройден.

  • @ringnull
    @ringnull 2 роки тому +3

    Плохо объяснил эту часть 'email' => 'required|string|email|unique:users,email,' . $this->user_id,

    • @BookwormYevgen
      @BookwormYevgen 2 роки тому +6

      Можно так сделать: 'email' => ['required', 'string', Rule::unique('users')->ignore($this->user)],

    • @sam_korsh
      @sam_korsh Рік тому

      спасибо, облизал, поцеловал

    • @tigrancode
      @tigrancode Рік тому

      @@BookwormYevgen там нету Rule

    • @ЕвгенийВласов-е2о
      @ЕвгенийВласов-е2о 2 місяці тому

      можно вот так написать
      'email' => ['required', 'string', 'email', 'unique:users,email, ' . \Request::instance()->id],