Laravel по-русски

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

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

#1 Re: Laravel 5.x » Валидация данных (POST) . В сессию не сохраняются данные формы и текст » 14.07.2017 15:38:07

Может кто-то еще подскажет, но мне сходу трудно сказать где ошибка, по идее должно работать. Поэтому я предлагаю вам попробовать начинать с нуля, если у вас есть время. А с таким наставником (из уроков), точно не упустите ничего из виду. Также вот  урок по FormRequests. Удачи smile

#3 Re: Laravel 5.x » Валидация данных (POST) . В сессию не сохраняются данные формы и текст » 14.07.2017 15:14:24

Видимо проблемы с сессией. Советую вам пройти серию уроков на laracasts. Обратите внимание на настройки middleware в Kernel. Если есть время начните с 1 эпизода.

#4 Re: Laravel 5.x » Валидация данных (POST) . В сессию не сохраняются данные формы и текст » 12.07.2017 18:13:49

... `Class 'App\Http\Controllers\Admin\Validator' not found`"

Чтобы этого не было, нужно импортировать имя класса (use Validator;), иначе идет обращение к классу Validator в текущем пространстве имен.
И еще, к первому посту, вы не там ожидате old input. Когда валидация валится, происходит redirect, следовательно get запрос, а у вас дамп стоит в ветке if $request->isMethod('post'). Советую сделать два отдельных action для get и post соответсвенно.

#5 Re: Laravel 5.x » Валидация данных (POST) . В сессию не сохраняются данные формы и текст » 12.07.2017 16:35:11

Подсвечивает потому что это фасад, для него алиса прописан в app.php.
Можно поставить https://github.com/barryvdh/laravel-ide-helper, тогда в ide все норм станет).
Вам правильно выше ответили, попробуйте добавить withInput(request->input())

        $validator = Validator::make($request->all(), $rules, $messages);
        if ($validator->fails()) {
            return back()->withInput($request->input())->withErrors($validator);
        }

#6 Re: Общий раздел » Алгоритм определения места в рейтинге » 12.07.2017 16:19:31

CREATE VIEW tmp AS
SELECT avg(mark) AS rating,
       user_id
FROM users
JOIN marks ON users.id = marks.user_id
GROUP BY user_id
ORDER BY rating DESC;
SELECT * FROM tmp;

SET @position:= 0;
SELECT POSITION,
       tmp.user_id,
       rates.rating
FROM
  (SELECT @position:=@position + 1 AS POSITION, rating
   FROM tmp
   GROUP BY rating) AS rates
JOIN tmp ON tmp.rating = rates.rating
ORDER BY POSITION ASC;

DROP VIEW tmp;

Можно так

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