Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#2 Re: Laravel 6/7/8/9 » Загрузка связей » 03.06.2021 15:25:33

Здравствуйте!

А почему вы не хотите / не можете сразу обратиться к D и отфильтровать данные черезе whereHas?

#3 Re: Laravel 6/7/8/9 » При ошибке валидации и дальнейшем 302 редиректе теряются динамические » 03.06.2021 15:17:39

Вы можете получить динамические данные через old и передать при загрузке страницы в JS, который соберет для вас все динамически. Второй вариант - соберите опять же через old при загрузке страницы все динамические поля, как вы и написали. Если предыдущие данные не возвращаются в случае ошибки валидации, значит вы где-то ошиблись в контроллере.

#4 Re: Laravel 6/7/8/9 » Вывод документов на странице » 03.06.2021 15:11:20

Если вы хотите иметь возможность фильтровать, сортировать, искать файлы еще что-то с ними делать, то вам стоит при заливке создавать строку в БД с названием, путем, и другими данными о файле. Если же вы хотите обойтись без БД, то советую углубиться вот в этот раздел, но я бы не советовал это делать без БД.

#5 Re: Laravel 6/7/8/9 » Как собрать все ошибки в одном месте » 03.06.2021 15:03:45

Функция withErrors кладет ошибки в сессию, в то время как ValidationException, который срабатывает и в первом и во втором варианте, перенаправляет нас на предыдущую страницу и возвращает объект с ошибками и “old data” (если я ничего не путаю). Забыл еще про третий вариант:

$validator = Validator::make($request->all(), [
    ‘phone’ => ‘required|string|max:255’,
]);

if ($validator->fails()) {
    return redirect()->route(‘phonelogin’)->withErrors($validator)->withInput();
}

// CODE

if(!$user){
    return redirect()->route(‘phonelogin’)->withErrors(“В базе нет такого телефона!“, “errors”)->withInput();
}

#6 Re: Laravel 6/7/8/9 » Установка Homestead » 03.06.2021 13:08:13

Насколько я понимаю, проблема в Vagrant.
Вот тут советуют переустановить и перепроверить версию.

#7 Re: Laravel 6/7/8/9 » Как собрать все ошибки в одном месте » 03.06.2021 12:58:07

Можете попробовать так:

$request->validate([
    'phone' => 'required|string|max:255|exists:users,phone',
]);

Либо кидать Exception:

if(!$user){
    throw ValidationException::withMessage([
        'phone' => ["В базе нет такого телефона!"],
    ]);
}

#8 Re: Laravel 6/7/8/9 » Как переключить язык на сайте? » 21.11.2020 15:04:59

Сохратите язык в session и затем через middleware применяйте выбраный язык.

#9 Re: Laravel 6/7/8/9 » Ларавел 6 с предис. » 02.05.2020 15:02:54

Судя по ошибке вы прописали где-то в .env вместо не redis, а predis..

Но только по ошибке довольно тяжело строить предположения.

#10 Re: Laravel 6/7/8/9 » Laravel+Vue авторизация » 02.05.2020 13:24:02

Здравствуйте,

Если не хотите делать SPA, но хотите использовать Vue для авторизации, то у вас три самых простых варианта:
1) Авторизация через стандартный пакет https://laravel.com/docs/7.x/sanctum
2) Воспользоваться готовым решением, которое упрощает взаимодействие Vue с Laravel в разы https://inertiajs.com
3) Токен авторизации через стандартный пакет https://laravel.com/docs/7.x/passport

Если у вас Vue крутится отдельно от Laravel, то советую 1 вариант.
Если используете Vue вместо blade, то присмотритесь ко второму варианту.
Третий вариант интересен лишь в том случае, если планируете подключение других приложений, на базе Android/iOS и т.д. к вашей системе

#11 Re: Laravel 5.x » Исправить ошибку » 03.09.2019 12:50:29

Whoops, looks like something went wrong.

- Это общая ошибка. Что конкретно у вас написано в логах?

#13 Re: Laravel 5.x » Не работает запрос, вывводит ошибку TokenMismatchException in compi... » 25.08.2019 11:58:03

Csrf токен используется для предотвращения атак на ваш сайт. Добавлять рут на добавление комментариев в исключение - ужасная затея. Вкратце, вы должны при каждом пост запросе отправлять уникальный токен.
https://laravel.com/docs/5.8/csrf

#14 Re: Laravel 5.x » Авторизация и токены » 25.08.2019 11:50:31

Здравствуйте,
Вы уверены, что csrf токен передаётся в форме авторизации?

#15 Re: Laravel 5.x » FormRequest » 05.01.2018 16:56:44

Нужно проверять поле на min: и max: или between

#16 Re: Laravel 5.x » Разграничить доступ к таблицам БД для разных пользователей » 05.01.2018 16:45:12

Как вариант, в config/database.php создаете еще одну конфигурацию, после чего сможете в контроллерах обращаться к нужной БД:
$users = DB::connection('foo')->select(...);
Второй вариант, работать с ролями пользователей на стороне ларавел при помощи Gates.

#17 Re: Laravel 5.x » Laravel 5.3 Редирект после аутентификации основывающийся на ролях. » 25.09.2016 00:02:08

В общем решил проблему при помощи Gates и Middleware.
В RedirectIfAuthentificated прописал нужные мне Gates и вызвал через руты этот middleware.
В итоге /dash получился прослойкой, которая редиректит уже на нужную страницу.

#18 Re: Laravel 5.x » Процесс оплаты » 24.09.2016 23:59:01

А от нас то чего хотите? Вопроса то нет..

#19 Re: Laravel 5.x » Создание страницы. С чего начать? » 23.09.2016 13:03:46

Johnny Show пишет:

А через какую среду прописывать команды  artisan? Пробовал через консоль - не работает.
А в документации так написано будто не полностью, а обрывками. :\

Через консоль идете в папку проекта (cd Папка/папка/проект)
Затем пишете php artisan (что-то)

#20 Re: Laravel 5.x » Создание страницы. С чего начать? » 23.09.2016 10:03:33

Вообще нужно начать с изучения документации smile

Для начала, создайте базу данных через phpMyAdmin или через что вам удобнее, затем пропешите юзера, название и пароль от базы в .env файл. После чего начните изучать migrations в документации.

#21 Re: Laravel 5.x » Laravel 5.3 Редирект после аутентификации основывающийся на ролях. » 22.09.2016 14:50:42

gisen пишет:

А что так мало тем создал? Давай ещё парочку создай и тогда точно на сверх звуковой скорости прилетят помогут.

Прошу прощения за это, когда создавал, получал ошибку и соответственно не видел, что тема все таки создалась, а удалить прав не хватает sad

#22 Laravel 5.x » Laravel 5.3 Редирект после аутентификации основывающийся на ролях. » 22.09.2016 13:06:57

stsepelin
Ответов: 3

Здравствуйте,

Вот начал разбираться с 5.3 и практически сразу же столкнулся с проблемой.
Необходимо сделать аутентификацию пользователей основанную на ролях пользователей.
Создал Gate в AuthServiceProvider, там проверяю роль пользователя. В middleware RedirectIfAtuhentificated прописал Gate::allows('role', 'admin') ну и соответственно куда редиректить при той или иной роли, например, админов в /dash/admin, юзеров в /dash/users и т.д. Теперь, когда вользователь уже залогинен все редиректит правильно, а вот с самим логином как раз и возникла проблема.

Не понимаю каким образом эти Gates прописать в LoginController, там есть только:

protected $redirectTo = '/home';

public function __construct() {
        $this->middleware('guest', ['except' => 'logout']);
}

#23 Laravel 4 » Route filter основанный на ролях пользователей » 03.08.2016 14:15:28

stsepelin
Ответов: 1

Здравсвуйте,

Хочу сделать пути таким образом, чтобы в зависимости от роли пользователя путь обрабатывали разные контроллеры.
Например:

Админ перейдя по пути /categories попадет на страницу, которую обрабатывает контроллер AdminCategoriesController, в то же время, если Пользователь перейдет по пути /categories, он попадет на страницу, которую обрабатывает контроллер UserCategoriesController.

Я понимаю, что это нужно делать при помощи фильтров, но не получается сделать один путь.

#24 Re: Laravel 5.x » Актуальность обьявлений » 19.07.2016 10:32:27

Как вариант можно проходить кроном по объявлениям и менять статус тем, что старше 7 дней

#25 Re: Laravel 5.x » не работает Laravel 5 » 18.07.2016 18:50:38

Через терминал зайти в папку с проектом и выполнить команду composer install

Подвал раздела