Как проверить значение сеанса в Blade

#php #laravel #session #laravel-5.8 #laravel-session

Вопрос:

Я работаю с Laravel 5.8 и хочу установить переменную сеанса в cart.blade.php Blade, вот так:

 @php
    $conflicted = '';
@endphp

@if($conflicting  amp;amp; ($prd[0]->prd_delivery == 'city_free_delivery' || $prd[0]->prd_delivery == 'country_free_delivery'))
    @php Session::put($conflicted , '0') @endphp
        <p style="color:red;">
           This product has free delivery but it can not be set because of service area conflict of other products 
        </p>
@endif

@if(!$conflicting  amp;amp; ($prd[0]->prd_delivery == 'country_free_delivery'))
    @php Session::put($conflicted , '1') @endphp
        <p style="color:red;">
           Country Free Delivery
        </p>
@endif
    
@if(!$conflicting  amp;amp; ($prd[0]->prd_delivery == 'city_free_delivery'))
    @php Session::put($conflicted , '2') @endphp
        <p style="color:red;">
            City Free Delivery
        </p>
@endif
 

Теперь checkout.blade.php мне нужно проверить значение $conflicted переменной сеанса.

Итак, как я могу проверить значение сеанса в Blade ?

Потому что с get has помощью метода и я могу проверить имя ключа сеанса.

Комментарии:

1. Представления лезвий предназначены для отображения объектов, не устанавливающих переменные для использования в другом месте. Это должно быть сделано в контроллере.

2. @shaedrich Мне нужно сделать это в Blade

3. В чем проблема, с которой вы столкнулись?

4. @shaedrich Я хочу получить $conflicted ценность по сеансам. Так что я могу проверить, равно ли это значение 1, 2 или 0

5. Вы уже упоминали, что можете получить их с помощью Session::get($key) . Для чего мы вам нужны? В качестве альтернативы вы можете использовать session($key) или session()->get($key) соответственно.

Ответ №1:

Вы можете использовать session() помощника:

 @if (session('conflicted'))
    {{ session('conflicted') }}
@endif
 

Комментарии:

1. Где значение, которое нужно проверить, conflicted равно 1, 2 или 0

2. Вы можете проверить значение с if помощью инструкции: @if (session('conflicted') == 1)

3. Можем ли мы также сказать: if($request->session('conflicted') == '1') ?