Laravel по-русски

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

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

#1 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 16.02.2016 17:33:46

Проблема решилась, путь отказа от Route::controller
С версии laravel 5.1 он устарел.

#2 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 16.02.2016 16:41:45

если поместить Route::controller('/akp', 'AkpController'); в  Route::group(['middleware' => ['web']], function () {
то получаю

TokenMismatchException in VerifyCsrfToken.php line 67:

#4 Laravel 5.x » Выбор базы для валидации » 16.02.2016 15:19:56

corsik
Ответов: 1

Настраиваю валидацию

use Validator;
use App\Http\Requests;
use Illuminate\Http\Request;
use Illuminate\Session\Middleware;

class AkpController extends Controller  {
    public function postAdd(Request $request) {


        $validator = Validator::make($request->all(), [
            'added_on' => 'required|unique:added_on',
        ]);

        if ($validator->fails()) {
            return view('index')
                        ->withErrors($validator);
        }
}

но при проверки уникальности валидор в базу akp.added_on вместо указанной в eloquent

#5 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 16.02.2016 10:09:15

Подскажите, каким способом тогда лучше сделать?
Мне нужно сделать редирект из котроллера на '/' с сообщение об удачном действие.

#6 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 16.02.2016 10:04:31

Делаю

Routes

Route::controller('/akp', 'AkpController');

Route::group(['middleware' => ['web']], function () {
    Route::any('/', ['as' => 'main', function() {
            //session()->flash('status', 'default');
            return view('index');
        }]);
});

index

      @if (session('status'))
      <div class="alert alert-success">
          {{ session('status') }}
      </div>
      @endif

AkpController

        session()->flash('status', 'default');
        return redirect()->route('main')->with('status', 'default');

И всё равно флэш при редиректе не передается. Зато если раскоментить передачу флэш из роута, проблем нет.
Так же отлично передается аргумент с помощь.

return redirect()->route('main', ['status' => 1]);

#7 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 15.02.2016 09:14:50

Route::any('/', ['as' => 'main', function(){
        //session('status');
        return view('index');
}]);

//Route::get('/akp', 'AkpController@index');
Route::controller('/akp', 'AkpController');
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|
*/

Route::group(['middleware' => ['web']], function () {
    //
});

#8 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 11.02.2016 09:21:10

duster пишет:

Еще учитывайте, что flash данные хранятся ровно ОДИН запрос. Если сделать 2 редиректа - то уже не будет, к примеру.

Так я делаю один редирект из контроллера с переменным session в роуте который выводит шаблон?
Тогда получается передавать session можно только напрямую из роута?

#9 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 11.02.2016 09:09:17

duster пишет:

А Вы как получаете статус - session()->get('status')? Это же не будет просто $status, как остальные переменные

Еще учитывайте, что flash данные хранятся ровно ОДИН запрос. Если сделать 2 редиректа - то уже не будет, к примеру.


Пробую так

    public function postAdd() {
        session()->flash('status', 'default');
        return redirect()->route('main');;
        }

а в шаблоне main
Получаю как в документации

@if (session('status'))
    <div class="alert alert-success">
        {{ session('status') }}
    </div>
@endif

#10 Re: Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 11.02.2016 00:55:14

Хочу увидеть session status в шаблона index. А передается только параметр save

#11 Laravel 5.x » Не работает flash из контроллера на laravel5.2 » 10.02.2016 17:55:40

corsik
Ответов: 15

Laravel Framework version 5.2.5
Вызываю из котроллера:

    public function postAdd() {
        session()->flash('status', 'default');
        return redirect()->route('main', ['save' => 'ok']);;
        }

Не работает flash в шаблоне.

А если тоже самое из роута:

Route::get('/', ['as' => 'main', function(){
        session()->flash('status', 'default');
        return view('index');
}]);

То Flash успешно передается в шаблон.

#13 Laravel 5.x » Вывод foreach » 28.05.2015 16:38:09

corsik
Ответов: 3

Есть массив $category, необходимо в блайде вывести данные в список <li> и выделить определенный подсветкой, но как добавить к нему класс?
Ниже приведет пример, но в примере у меня дублируется запись списка.

                
 @forelse ($category as $category)
@if ($category->link == $link_name->link)
<li class="navleft-item"><a class="current" href="{!!$category->link!!}">{!!$category->name!!}</a></li>
@endif
<li class="navleft-item"><a href="{!!$category->link!!}">{!!$category->name!!}</a></li>
@endforeach

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