Если у кого-то не работал route на /posts после добавления реквеста, проверьте, не стоит ли у вас в валидации 'required|string'. Если убрать реквайред, то всё начинает работать
@laravelcreative2 жыл бұрын
Благодарю!)
@ИгорьПавлов-г9ц Жыл бұрын
Дуже дякую тобі за таку важливу підказку. Геть не розумів, чому в мене не з'являється ні один запит
@АлександрЛисин-е4л Жыл бұрын
Спасибо, я всю голову сломал😉😎👍👍👍
@АлександрКопылов-и5г Жыл бұрын
Благодарю тебя, добрый человек!
@DaniilPopov-cu6mr Жыл бұрын
Огромное спасибо, мучился бы ещё час
@homeuser31083 жыл бұрын
Спасибо за уроки! Мне заходят на ура - закрывают ряд пробелов и нестыковок по Laravel. Чем дальше, тем интереснее, прямо как в сериале)) Если еще и второй сезон "Блог на Laravel" зайдёт мне так же хорошо, как и этот, это будет совсем шикардос! ))
@laravelcreative3 жыл бұрын
Спасибо большое за такой подробный отзыв!) От души!):)
@МахмудКосимов-з9и2 жыл бұрын
Я заметил одно исключение у ваших уроках. Вы с начало показывайте как можно реализавать той или иной чадачи обычно, затем показывайте как реализуеться профессинальном путьем. Это редкое случаи в подобных каналах. Благадарю за уроки.
@dom-pirata Жыл бұрын
Тяжело не заметить :)
@ulyanapovitrulay5943 жыл бұрын
У Вас замечательные уроки!!!!!! Все просто, понятно, по полочкам!!! Спасибо, Вам огромное! Я лучших уроков не встречала)))))
@laravelcreative3 жыл бұрын
Благодарю)! Успехов!)
@artemsergeev4833 Жыл бұрын
В laravel 10, чтобы увидеть результат функции dd($posts); нужно добавить метод get, а именно: $posts = Post::filter($filter)->get(); без данного метода выводится объект builder. Все понятно, если самому изучать каждый метод и смотреть откуда и какие приходят параметры. Хотелось бы посмотреть на реализацию фильтрации на странице с постами, а не только в виде виртуального кода.
@laravelcreative Жыл бұрын
Благодарю!:)
@Justizfn Жыл бұрын
если я правильно понимаю, можно просто добавить кучу кнопок в с методом гет и валью нужного фильтра, реализовывать не пробовал это лишь мои догадки, если что поправьте. Всем удачи в обучении.
@aramakonstantin11 күн бұрын
Спасибо что указали, а то я уже запаниковал, что не вижу чего надоть.....
@aramakonstantin11 күн бұрын
Изумительная подача материала. Спасибо за великолепный курс! Пожалуй этот урок был самым для меня сложным... Буду все пошагово разбирать, тема не простая!
@АндрейГалушко-е9о3 жыл бұрын
Пушка контент! не могу оторваться, уже не однократно засыпал от него, но не от того что скучный, а от количества поглощенного материала!! просто оторваться не могу, даже на сон!! Смотрю на одном дыхании, не однократно уже натыкался на ооооочень интересные подходы!!! за что автору низкий поклон, до самых корней земли!!! СПАСИБО ОГРОМНОЕ !!
@laravelcreative3 жыл бұрын
Ого, спасибо большое за такой подробный отзыв! От души!) Благодарю!) Успехов!)
@vimitali76303 жыл бұрын
Спасибо, за урок! Очень крутая и простая подача материала!
@laravelcreative3 жыл бұрын
Благодарю)!
@qr466543 жыл бұрын
% в начале - это значит, что до искомой последовательности символов могут находиться другие символы, а % в конце - то, что другие символы могут находиться после искомой последовательности символов. Если необходимо найти только записи с точным совпадением всех символов как в запросе, то знаки % ставить - не нужно. Это правила SQL
@laravelcreative3 жыл бұрын
Совершенно верно:) Спасибо!)
@АнтонСурыгин-ф9ж8 ай бұрын
Какая мощная тема! Я конечно не все понял, но понял логику. Буду возвращаться к этому видео =)
@dimanamumchak53703 жыл бұрын
очень интересный урок, благодарю!
@laravelcreative3 жыл бұрын
Благодарю!)
@bohdanafanasiev34332 жыл бұрын
Как я люблю эти фразы в курсе, по типу: "Но это все не эфективно..."
@h3xx0r Жыл бұрын
Спасибо дружище, помог во многом разобраться.
@ВалерийОжерельев-к6й Жыл бұрын
Обращу ваше внимание на то, что если у вас в правилах валидации есть required, например 'title' => 'required|string' это приведет к ошибке "сервер выполнил переадрисацию слишком много раз" удалите просто required из правила
@andrewlevitsky6270 Жыл бұрын
Еее, сам догадался )) Потом уже посмотрел комментарии. Но именно от данной темьі мозги начали плавиться, весьма сложная
@bonnnerman93 Жыл бұрын
дякую
@РаджибС Жыл бұрын
Спасибо за курс.
@sergeyromanov19202 жыл бұрын
Спасибо за урок. Слишком поздно заметил ссылку на файлы ) практически все перепечатал, что было в видео. А так как в видосе не было видно функции before - то возникла ошибка. После же обнаружения файлов в ссылке под видео, проблему удалось решить и все заработало. Зря конечно автор не завел git-репку по всем урокам, хорошо хоть файлы есть, а то думал вообще - домузгуй это сам с before будет ) Просто у других уроков ссылки на файл не было, и уже не ожидалась, но теперь буду иметь в виду.
@elgrenka Жыл бұрын
Такая же ошибка выскочила с before. Ладно тут прочитал и узнал, что файлы прикреплены под видео )
@dilmurod98203 жыл бұрын
respect то что мне надо спасибо ты крут
@laravelcreative3 жыл бұрын
Благодарю!)
@qr466543 жыл бұрын
Отличный урок!
@laravelcreative3 жыл бұрын
Благодарю!)
@Technical_Expert2 жыл бұрын
array_filter "если параметр не пуст, то он вызовет функцию колбэка" - сказал автор видео на 21:30. Мдя, после таких объяснений у новичков челюсть еще ниже отвисла. Чтобы она не отвисала, добавлю вам простое объяснение. В данном случае функция с единственным параметром занимается тем, что удаляет все пустые поля, оставляя только имеющие значения.
@alexgud64673 жыл бұрын
странно, при любой фильтрации у меня на страницу выводится что-то не то, вывожу через dd($posts) : Illuminate\Database\Eloquent\Builder {#344 ▼ #query: Illuminate\Database\Query\Builder {#317 ▶} #model: App\Models\Post {#318 ▶} #eagerLoad: [] #localMacros: array:4 [▶] #onDelete: Closure(Builder $builder) {#1132 ▶} #passthru: array:19 [▶] #scopes: array:1 [▶] #removedScopes: [] }
@laravelcreative3 жыл бұрын
Добавь в конце ->get();
@alexgud64673 жыл бұрын
@@laravelcreative благодарю! извиняюсь за невнимательность
@laravelcreative3 жыл бұрын
Не извиняйся, все хорошо:)
@psihmel3493 жыл бұрын
Я тоже на этом запнулся)) так что ты не один такой))
@РусланМягких-д6ш2 жыл бұрын
+1. Долго не мог понять в чем проблема.
@starlightx30522 жыл бұрын
Спасибо большое, теперь мои контроллеры худые и легко читаемые!
@laravelcreative2 жыл бұрын
Благодарю!)
@ivanzolotarev83023 жыл бұрын
Добрый день! Большое спасибо за уроки! Есть вопрос: на шаге урока (время 3:29) когда мы делаем /posts?category_id=5 страница становиться недоступной (ERR_TOO_MANY_REDIRECTS). Более точно - такая ситуация возникает после добавления аргумента public function __invoke(FilterRequest $request), в чем может быть причина?
@laravelcreative3 жыл бұрын
Ошибка говорит о том, что ты делаешь редирект на страницу, у которой контроллер тоже делает редирект, скорее всего, либо друг на друга, либо на себя. Добавь return view(), вместе return redirect
@ivanzolotarev83023 жыл бұрын
@@laravelcreative Спасибо за ответ! Но к сожалению, результата нет. Для чистоты эксперимента пробовал такой код, ничего не изменилось: class IndexController extends BaseController { public function __invoke(FilterRequest $request) { dd(1111); } }
@laravelcreative3 жыл бұрын
Наверно в реквесте не проходит валидация, происходит редирект назад, и возможно там стоит тоже какой-то редирект) Попробуй все редиректы в контроллерах убрать)
@ivanzolotarev83023 жыл бұрын
@@laravelcreative Спасибо! Действительно проблема была в реквесте, т.к. я поставил опцию required на некоторые поля, в уроке ее не было)
@laravelcreative3 жыл бұрын
Ахах бывает)
@ЕвгенийСамусько-д9ш2 жыл бұрын
Спасибо за уроки! Изучаю с вашей помощью Laravel, очень доступно рассказываете все. Подскажите есть ли у вас урок по реализации фильтра для сайта с использованием elasticsearch?
@андрейпустоселов-г8м2 жыл бұрын
Спасибо за уроки
@esca7a Жыл бұрын
Привет. Фильтрация получилась не такая гибкая как хотелось бы Если мы передаем два параметра , то поиск происходит по последнему. Что в этом случае ?
@salonsuloo2 жыл бұрын
Крутой урок! Спасибо✊
@laravelcreative2 жыл бұрын
Благодарю!)
@sunmoon20982 жыл бұрын
самій порлезній урок из всех предідущих видео!)
@laravelcreative2 жыл бұрын
Благодарю)!
@spitzer40772 жыл бұрын
А я считаю что наоборот. Это урок больше для системных разрабов Laravel, нежели для прикладного использования новичками. Нет возможности понять что к чему, всё слишком догматично и быстро.
@sunmoon20982 жыл бұрын
@@spitzer4077 прикол в том что єтого для новисков полно. Стандартная дока, круд какойнибудь, метод ... А тут логика показана а не описание доки!)
@spitzer40772 жыл бұрын
@@sunmoon2098 но эта логика абстрактна и без понимания откуда концы, куча стандартных переменных и неочевидной логики из разных мест проекта как-то там связаны, но её нельзя связать в голове без глубокого понимания устройства Laravel.. короче правильно сказал автор - пользуйте шаблон и не особо вникайте. До 30го урока у меня всё шло как по маслу, и тут бац... тотальное непонимание чё ваще происходит))) И зачем раздули такой колхоз ради какой-то пагинации, более того, если так правильно, почему сам ларавел об этом не озаботился.. Боюсь представить что там дальше будет.
@evgeniysergeev27082 жыл бұрын
У кого будет ошибка ArgumentCountError указываете метод validate, а нужно validateD! Спасибо за уроки.
@АртемАртеменконезабывайвыходит Жыл бұрын
раскажи больше про этот шаблон где больше выборок
@RusIvan20222 жыл бұрын
Немного поправлю на query а наверное понятьнее будет query builder
@pfkcskafan2 жыл бұрын
Отлично, спасибо
@olegkostyuk35373 жыл бұрын
Здравствуйте ! На 12:40 не понял что за магия произошла, как вы вставили свойтва и методы в AbstractFilter?)
@laravelcreative3 жыл бұрын
А это же копипаст, в описании ссылка на файлик)
@vasyaklishch41842 жыл бұрын
ВОГОНЬ, БРАТАН ПІДПИСКА І ЛАЙК.
@YasaFit2 жыл бұрын
Интересно, чем отличаются этот способ создания объекта $filter = app()->make(PostFilter::class, ['queryParams' => $data]); от этого $filter = new PostFilter($data); может в следующих уроках станет понятней
@prod.wembley3816 Жыл бұрын
Всякий раз, когда выполняется операция new, закрывается возможность для полиморфизма (поддержка нескольких реализаций на основе общего интерфейса) в данной области видимости. Во избежания этого, было выведено множество порождающих шаблонов проектирования, в том числе и Dependency Injection - реализация которого как раз таки предоставляется с помощью передачи названия класса параметром любого метода либо вызовом app()->make().
@jd-chnl2 жыл бұрын
Здравствуйте! Спасибо за материал, интересно, познавательно и по сути👍 если можно поясните пару нюансов: - для чего создавать интерфейс, сли есть абстрактный класс, который будет корневым так или иначе? - $filter = app()->make(PostFilter::class, ['queryParams' => $data]); на сколько знаю app->make используется для внедрения зависимотсей из настроек контейнера, но тут это не актуально поскольку параметры передаете как в обычный конструктор - как по мне это лишнее выполнение кода. Это просто к слову, я читал ответ про миграцию решения с момента его появления) - в классе PostFilter вы зарегистрировали константы, но не использовали их. Правильно ли я понял что они должны быть использованы в колбеках в билбере в поле column? строки 23, 29, 35, Еще раз спасибо, материал мне понравился!
@BookwormYevgen2 жыл бұрын
22:55
@trvtrv31722 жыл бұрын
Все хорошо. Но жаль что вы некоторые вещи просто как факт говорите и не объясняете зачем это нужно. Например, зачем писать scope и почему мы это делаем только в трейте
@sviatstupak21622 жыл бұрын
Это конвенция Laravel, автор объяснил же!
@trvtrv31722 жыл бұрын
@@sviatstupak2162 Рот закрыл. В реальности ничего просто так не бывает. Надо объяснить почему такое название исторически сложилось. Высокоуровневые тупые программисты
@trvtrv31722 жыл бұрын
@@sviatstupak2162 Че молчишь тварь?Scope означает что этот метод работает в eloquen во тобъяснение, а не ну так приянто ну крч не думай что пишешь а просто копируй
@sviatstupak21622 жыл бұрын
@@trvtrv3172 неадекват, спустя 4 месяца узнал и решил поумничать или документацией научился пользоваться?
@trvtrv31722 жыл бұрын
@@sviatstupak2162 пес подзаборный
@blackwood34082 жыл бұрын
Как быть если нужно отфильтровать по нескольким категориям, а не по одной?
@andreyivanchenko6369 Жыл бұрын
Все работает - спасибо! но на этапе добавления самой формы отправки запросов столкнулся с некоторыми нюансами которых жаль что нет в видео - 1 ) Валидация всех данных - если оставлять пустые значение то работает в общем - но если фильтровать только по 1 параметру а указывать валидацию на все поля. Решил этот вопрос так в FilterRequest проверял\добавлял параметры таким способом if (request()->filled('date_to')) { $rules['date_to'] = 'date'; } и так для всех параметров 2). проверка текущего значение в самой форме old() не подходит так как сохраняет значение в сессии - использовал request()->input('date_to', '') 3) момент если есть форма с многими параметрами и отправляем все - получиться строка с пустыми значениям для этого проверял весь $request->all() if (in_array(null, $params)) { $filtered_params = array_filter($params, function ($value) { return !is_null($value); }); return redirect()->route('deposits.index', $filtered_params); } - возможно как-то по другому нужно но пока так
@BookwormYevgen Жыл бұрын
А зачем тут FilterInterface?? И почему фильтр асбстрактный? Это же можно сделать все в одном классе? Какое практическое применение имеют эти абстракции в конкретно этом проекте?
@irinatagaeva33712 жыл бұрын
Спасибо за уроки! 👍 А почему не используете для фильтрации when?
@gangster_dude2 жыл бұрын
для меня этот алгоритм сложный. Мозг тормозит и останавливается. С ифами гораздо проще и понятней :) Но ничо, спасибо автору. Буду использовать это садомазо !
@RusIvan20222 жыл бұрын
есть пример где нужно получить по условию из связанной таблице?
@evgenn787 Жыл бұрын
А есть урок где этот фильтр завязывают на кнопки, интерфейс управления? Подскажите пожалуйста номер урока )
@ШпаченкоДмитрий9 ай бұрын
Плиз очень нужно. Может есть ответ
@Cadregich2 жыл бұрын
А как через форму отправить эту имитацию запроса, а не вводить в ручную?
@ВикторИванов-т6ч3ъ Жыл бұрын
Видосы огонь. Каждый пересматривал по несколько раз. Для тех кто никогда не сталкивался с ларавелом очень полезно. Но вот откуда и как заполняется AbstractFilter, Filterable, совершенно непонятно. Просто копипаст с видоса.
@Doston_T11 ай бұрын
Закреплено же в описании ссылка где можно получить код на эти файлы
@Olegcowboyoleg10 ай бұрын
@@Doston_TА если не будет ссылки? Просто откуда-то они берутся? Или импортируются из какого-то класса? Если импорт, то откуда?
@ringnull2 жыл бұрын
У меня не прилетают гет параметры из урла. Что делать?
@Morski1337 Жыл бұрын
Как сбросить фильтр при перезагрузке страницы?
@alexandr99002 жыл бұрын
камент для продвижения
@laravelcreative2 жыл бұрын
Благодарю!)
@Timur-j9t8y2 жыл бұрын
Спасибо за видео! А как сделать шаблон для ввода запроса через форму ?
@laravelcreative2 жыл бұрын
Форма + реквесты)
@aleksandrpushnin22442 жыл бұрын
На работе фильтр же в несколько строчек делается) laravel позволяет
@BookwormYevgen2 жыл бұрын
Покажи пример
@alcoholic_monk2 жыл бұрын
боже, это мне напомнило ужасные коды с ипользованием старых Jquery, как-то всё сложно :c
@laravelcreative2 жыл бұрын
Благодарю!)
@НикитаЛогинов-г5м2 жыл бұрын
добрый день! подскажите пожалуйста, если все сделал правильно, но, если задать параметр, например /post?id=1, при попытке его получить выдается пустой массив
@jil_jir874 Жыл бұрын
Не знаю, но у меня фильтр не хочет работать
@NikolayGavrilov-i3r Жыл бұрын
Спасибо за урок! А как быть, если надо отфильтровать по нескольким id одного из параметров?
@nisorek Жыл бұрын
По аналогии как делали поиск в строках через LIKE используйте оператор IN он принимает строку из значений через запятую
@NikolayGavrilov-i3r Жыл бұрын
@@nisorek Да, спасибо. Уже разобрался :)
@Olegcowboyoleg10 ай бұрын
Гнал я на автора, всё работает, я разобрался. !!! А почему, если мы просто напишем $posts=Post::filter($filter)->get(); $posts = Post::paginate(2); то пагинация перебивает фильтрацию? Фильтрация куда-то улетучивается.
@Али-т3ч3 жыл бұрын
Может кто помочь, почему у меня IndexController не принимает параметр (FilterRequest $request)? У меня даже в навбар Post не заходит. Когда убираю FilterRequest заходит в Post, ставлю не заходит, я еще попробовал сделать вручную прям в IndexController валидацию всю и вместо FilterRequest $request поставил Request $request, ответ тот же, не заходит в посты даже, вообщем не принимает любого рода валидацию, в чем может быть проблема?
@Али-т3ч3 жыл бұрын
Все я нашел ответ на свой вопрос, я реквестах везде указал 'required', он не получал данных и возвращал обратно на страницу))) Поменял везде 'required' на 'string' и все заработало
@laravelcreative3 жыл бұрын
Ахах бывает)
@АлексейБогомолов-з3ц2 жыл бұрын
@@Али-т3ч Спасибо за подсказку! Ваш комментарий очень помог, весь вечер искал причину! :)
@Renioxi2 жыл бұрын
@@Али-т3ч Спасибо! Я чуть голову не поломал ,что не так! @Laravel Creative а в чем проблема с 'required' ?
@каучукБутадиеновый2 жыл бұрын
Лучший, спасибо за подсказку
@Dima-sq2rh3 жыл бұрын
Доброго времени суток. Огромное спасибо автору за уроки, крайне хорошее объяснение и подача. Но, несмотря на это возник вопрос. В IndexController мы создаем экземпляр класса PostFilter: $filter = app()->make(PostFilter::class, ['queryParam' => array_filter($data)]). Я правильно понимаю, что это аналогично тому, что если в класс PostFilter добавить public function __construct($queryParam) { parent::__construct($queryParam) } ? Другими словами app()->make(PostFilter::class, ['queryParams' => array_filter($data)]) === при добавлении конструктора написанного выше классу PostFilter $filter = new PostFilter(array_filter($data))? Метод app() - это хелпер, который возвращает инстанс класса Container, который и предоставляет метод make, но так же можно и обратиться к фасаду App - App::make, что аналогично. На какой стадии отработки кода сервис-контейнер заполняется экземплярами класса? В документации есть еще метод makeWith, и в ней сказано, что если экземпляр класса имеет зависимости (в нашем случае PostFilter екстендится от AbstractFilter и AbstractFilter имеет конструктор который принимает аргумент), как в нашем случае, используется метод makeWith, но посмотрев на этот метод в классе Container, я увидел что он просто ссылается на метод make и принимает в себя те же аргументы $abstract и $parameters. Отсюда вопрос: это осталось для совместимости с более ранними версиями Laravel? Еще не совсем понятно зачем нужен FilterInterface, ведь функция apply прописана в AbstractFilter, от которого и екстендится PostFilter и по сути не нужно лезть в код при создании дочернего класса (PostFilter), я пока что не совсем понимаю когда применять интерфейсы) может Вы объясните? И что делает функция before? Честно говоря не понятно как это все работает)
@laravelcreative3 жыл бұрын
Все дело в том, что это просто шаблон фильтра, который кочует из поколения в поколение в таком виде, в котором его первоначально создали. Про интерфейсы я рассказывал в курсе php - это просто инструкция, чтобы разработчики не забывали прописать методы, которые должны быть. Прокинуть параметры можно по разному. Да и сам фильтр можно реализовать самыми разными способами) Это чаще всего утыкается в требования в компании, где человек работает:) Никакой мистики:) Благодарю!)
@Dima-sq2rh3 жыл бұрын
@@laravelcreative Спасибо большое за ответ
@Dima-sq2rh3 жыл бұрын
@@laravelcreative в принципе, почти разобрался, но подскажите пожалуйста еще такой момент: в IndexController мы вызываем метод filter Post::filter($filter), каким образом он вызывается, если этот метод в трейте не указан как static? А вызывается он как статический. При этом имеет 2 аргумента: первый - билдер, а второй фильтр, как раз таки второй мы только и передаем, почему передача только одного аргумента (при чем который в определении функции стоит вторым) в $posts = Post::filter($filter)->paginate(10) не вызывает ошибку и больше того - работает? Так же не понятен момент того, что в определении функции в Filterable передается сам интерфейс, я так понимаю это лишь заглушка чтобы phpStorm не ругался (можно просто вторым параметром указать переменную $filter без указания класса scopeFilter(Builder $builder, $filter))?
@laravelcreative3 жыл бұрын
Это фишка обращения к моделям, любой метод сразу после модели через :: вызывается. Например Post::update() Post::where() Post::find() Вот и всё:) на счет второго не совсем понял вопроса)
@AndreyMoroz2 жыл бұрын
Подскажите как сделать в фильтре лимит вывода страниц при пагинации ?
@RusIvan20222 жыл бұрын
Post::filter()->paginate(10) - 10 это лимит записей. А лимит страниц исходя из этого.
@sourlemon72003 жыл бұрын
Здравствуйте, подскажите, пожалуйста как я могу получить список постов по тегу? В PostFilter в методе tag я получаю список id постов с PostTag по переданному в запрос id тега $postsIds = PostTag::where('tag_id', $value)->get()->pluck('post_id'); Я получаю массив id нужных постов, но что мне с ним делать дальше?) Если просто запихну его так, то получу только пост, id которого был первый в массиве $builder->where('id', $photosIds); Я могу как-то передать в where массив и получить все посты, id которых были в этом массиве? Спасибо!)
@laravelcreative3 жыл бұрын
Попробуй использовать whereIn, посмотри на оф документации, что это.
@sourlemon72003 жыл бұрын
@@laravelcreative Супер, спасибо) а я так долго мучался с этим, уже такие костыли понапридумывал
@laravelcreative3 жыл бұрын
@@sourlemon7200 а вот так, тут всё просто)
@YasaFit2 жыл бұрын
В трейте Filterable в аргументах передается FilterInterface, и в $filter получаем объект PostFilter. А если этот PostFilter и передавать в аргументе, получаем тот же объект, в чем интересно отличия?
@юрийильиных-б6и2 жыл бұрын
невнимательно читал комменты, та же проблема с required
@ringnull2 жыл бұрын
3:07 у меня не работает гет переменные из урла помогите плиз
@РусланМягких-д6ш2 жыл бұрын
Проверь параметры валидации в файле реквеста. В title скорее всего стоит required|string с прошлых уроков.
@ringnull2 жыл бұрын
@@РусланМягких-д6ш Спасибо, проверю
@ringnull11 ай бұрын
Вместо public function __invoke(IndexRequest $request) надо было FilterRequest писать
@eugenevorontsov70492 жыл бұрын
ВОПРОС, пробую ваш шаблон, почему-то не работает если в адресной строке пишу Laravel/posts( что бы вывел всю таблицу), перекидывает на главную, а вот когда пишу Laravel/posts?title=dog&content=dog РАБОТАЕТ( минимум когда два аргумента пишу), если даже только title=dog НЕ РАБОТАЕТ
@андрейпустоселов-г8м2 жыл бұрын
В функциях title, content $builder->where('title', 'like', "%{$value}%"); value в двойных кавычках одинарные не работают! может кто подскажет: не находит трэйт, хотя ошибок VSCode не видит? Все namespace прописаны если функцию прописываю в Post все работает...
@РаджибС Жыл бұрын
Спасибо, помогло.
@alexeyguch8162 жыл бұрын
Привет! Понравился шаблон =) Как я понял, array_filter($data) необязателен, в смысл можно без функции передать массив. Однако, если он тут (в этом конкретном примере) не нужен, это не значит, что где-то в будущем не пригодится. К тому же он по умолчанию чистит пустые, false, null элементы массива. По смыслу, вроде, понимаю зачем нужен метод before, но пока не понимаю, где и как мне это может пригодится. Нужно больше знаний =) Благодарю за труд!
@laravelcreative2 жыл бұрын
Да можно убрать бефоре, если не нужен) Он просто часть шаблона. Благодарю)!
@Technical_Expert2 жыл бұрын
@@laravelcreative , может стоит вообще убрать всё, что не используется, если шаблон изначально не прост для понимания и эти лишние ничего не делающие функции лишь усложняют понимание?
@сергейжиглинский-й8п2 жыл бұрын
@@Technical_Expert жестко ты конечно))))))) я лично просто закомментировал не нужные методы и функции
@Technical_Expert2 жыл бұрын
@@сергейжиглинский-й8п с надеждой, что когда нибудь закоментированные функции пригодятся и ты в них разберёшься? Скорее всего это произойдет ровно никогда, просто будут висеть как мусор, отвлекая внимание впустую.
@AxelMacaroff Жыл бұрын
Странно, что у автора сработал метод "public function categoryId"( PostFilter file), т.к. ищется же "category_id" из массива queryParams ... Но в целом методика очень любопытна. Автору респект.
@AxelMacaroff Жыл бұрын
Вопрос снят... нашел где автор схитрил ---> self::CATEGORY_ID => [$this, 'categoryId'], а я, по привычке, подставил константу ( self::CATEGORY_ID => [$this, self::CATEGORY_ID ] ).
@ВячеславТараканов-б9и2 жыл бұрын
А зачем каждый раз после альт + джей говорить Женя? В этом тайный смысл какой-то заложен?)
@laravelcreative2 жыл бұрын
Чтобы не путали с Гошей - G:)
@КостяПросто-э3п2 жыл бұрын
😆Ну да, Gоша и Jеня разные люди))
@СергейМогилевич-ш2в2 жыл бұрын
Хороший канал и очень информативно главное доступно. У меня возникла трудность Unresolvable dependency resolving [Parameter #0 [ array $queryParams ]] in class App\Http\Filters\AbstractFilter не могу понять причину. Заранее благодарен.
@mihaelkirienko14712 жыл бұрын
$filter = app()->make(PostFilter::class, ['query_params' => array_filter($data)]); Нужно изменить query_params на queryParams .
@СергейМогилевич-ш2в2 жыл бұрын
@@mihaelkirienko1471 спасибо большое
@BohdanAds2 жыл бұрын
Declaration of App\Http\Filters\AbstractFilter::apply(Illuminate\Database\Eloquent\Builder $builder) must be compatible with App\Http\Filters\FilterInterface::apply(PhpParser\Builder $builder)
@subduedTunes2 жыл бұрын
ахфыхафыха, я пытался найти ошибку почему url запрос не работает, я просто забыл прописать php artisan serve, я гений мегамозг!
@chokoladis Жыл бұрын
После добавления request в контроллер : "Сайт выполнил переадресацию слишком много раз."
@laravelcreative Жыл бұрын
Видимо переходишь на страницу с данной страницы и он снова возвращает в этот реквест:)
@chokoladis Жыл бұрын
@@laravelcreative решил проблему, с прошлой request остались require в полях. Сейчас вопрос по тому как соединить пагинацию и фильтрацию, чтобы не спадала?
@allay138 Жыл бұрын
Это услажненная реаелизация мног лишнего . Можно сделать намного проще
@РусланВалиев-з2щ6 ай бұрын
я фикшу уже 4тую ошибку это просто запдерелный пиздец
@artemunix5223 Жыл бұрын
раскрой эту тему глубже на более понятном примере
@laravelcreative Жыл бұрын
В платном курсе - 3 варианта фильтров с реализацией в интерфейсе)
@artemunix5223 Жыл бұрын
@@laravelcreative это каком
@ШпаченкоДмитрий9 ай бұрын
@@laravelcreative Где купить? Конкретно эту реализацию интересует (у меня вывод в таблице). И есть ли что-то что бы можно было сортировать по столбцам.
@pernik852 жыл бұрын
Ну такое, на Yii1,2 это всё реализовано
@laravelcreative2 жыл бұрын
Круто:)
@alexandriv21742 жыл бұрын
я так и не въехал нафига городить хер проссышь такой огород когда можно самому простенький запрос состряпать - помоему тут извращенством садамаза попахивает
@laravelcreative2 жыл бұрын
А если тебе скажут сделать фильтр для 5-6 моделей и дают на это день?)
@КоляСолдат2 жыл бұрын
Ты учишь laravel, страдай.
@spitzer40772 жыл бұрын
Без файлов из описания не получилось бы, всё работает, но есть вопросы: 1) Зачем городить такой колхоз если в 6 строк в целом работали? 2) Если так правильно, почему это не является базовым функционалом Laravel? 3) Поля title, content, etc.. явно упоминались раза 4-5, а вам не кажется что это, говоря мягко, не универсально? Ещё раз, для пагинации прописывать в разных файлах поля по 4-5 раз.. уровень удобства - запредельный.
@Technical_Expert2 жыл бұрын
По сути автор сам не вдаётся в подробности того, что рассказывает, иначе бы не давал шаблоны, в которых половина функций не используется, а некоторые вещи можно было бы записать проще для понимания. Видимо у него такой стиль программирования - набрать как можно больше шаблонов и использовать их. Возможно это самая верная техника по быстрому освоению программирования. Если вам нужны такие подробности, то я например сам ищу доп информацию в сети, судя по ответам автора в комментариях, он не утруждается подробностями.
@RusIvan20222 жыл бұрын
ответы: 1. изучи solid и патерны и все поймешь. 2. Потому что ларавел это фреймворк, а не цмс 3.вообще не ясен вопрос. Пагинация передается методом paginate() в контроллере и в виде выводиттся метод что бы показать ссылки для страниц.
@Technical_Expert2 жыл бұрын
@@RusIvan2022 , видимо, 3 вопрос был о том, что предложенное решение с шаблоном гораздо более объёмное, нежели изначальная версия с описанием запроса в одном методе.
@spitzer40772 жыл бұрын
@@RusIvan2022 3. В идеале в одном, максимум в 2-х местах поля надо положить, но когда больше, то польза от этого всего сомнительна
@trvtrv31722 жыл бұрын
УРОК НАЧИНАЕТСЯ С 10 МИНУТЫ АХХАХА НЕ БЛАГОДАРИТЕ
@alexandriv21742 жыл бұрын
и да опять поисковая строка - ну какой заказчик в продакшине будет юзать эту дичь - вы не показали какая польза как это будет юзать заказчик!!!!!!!!!!!!!!!!!!!!!
@laravelcreative2 жыл бұрын
Ахаха) пользуют еще как пользуют)
@АндрійОстапович-к5й Жыл бұрын
Звук в сраці
@laravelcreative Жыл бұрын
Благодарю!:)
@optobeats2 жыл бұрын
Подскажите пожалуйста, постоянно выбивает ошибку Symfony\Component\HttpFoundation\Response::setContent(): Argument #1 ($content) must be of type ?string, App\Http\Filters\SourceFilter given, called in C:\xampp\htdocs\projects\fixit.loc\vendor\laravel\framework\src\Illuminate\Http\Response.php on line 72 и не хочет отрабатывать getCallbacks() в SourceFilter. В чем может быть причина? А то все перелопатил и не могу понять что не так. Реквест приходит нормально массив, а дальше стопорится...
@olegkostyuk35373 жыл бұрын
что-то подзавис я на этом уроке, смотрел его уже несколько раз и не могу понять , где допустил ошибку, при переходе на страницу posts получаю ошибку BadMethodCallException Call to undefined method App\Models\Post::filter() , думаю что я просто где-то что-то не праильно написла. думаю что это в indexcontroller.php но не понимаю что. вроде методы все добавлены