#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 или 05. Вы уже упоминали, что можете получить их с помощью
Session::get($key)
. Для чего мы вам нужны? В качестве альтернативы вы можете использоватьsession($key)
илиsession()->get($key)
соответственно.
Ответ №1:
Вы можете использовать session()
помощника:
@if (session('conflicted'))
{{ session('conflicted') }}
@endif
Комментарии:
1. Где значение, которое нужно проверить,
conflicted
равно 1, 2 или 02. Вы можете проверить значение с
if
помощью инструкции:@if (session('conflicted') == 1)
3. Можем ли мы также сказать:
if($request->session('conflicted') == '1')
?