Php 是否可以比较Session::get(';key';)值并使用laravel inline if else语句进行比较?

Php 是否可以比较Session::get(';key';)值并使用laravel inline if else语句进行比较?,php,eloquent,laravel-6,Php,Eloquent,Laravel 6,我想做的是一个过滤单选按钮。当用户基于特定年份应用过滤器时,它会进入控制器,根据该年份过滤数据结果,并返回到具有新值的视图。但是,当页面刷新时,按年份过滤的值会被反映出来,只是单选按钮被取消选中,默认的All单选按钮被选中 我所做的是根据单击的单选按钮的值将单选按钮的id存储在控制器的会话中。如果单选按钮的id与会话中存储的id匹配,则应选中该单选按钮 Index.blade.php <label> <input type="radio" name="year" id="t

我想做的是一个过滤单选按钮。当用户基于特定年份应用过滤器时,它会进入控制器,根据该年份过滤数据结果,并返回到具有新值的视图。但是,当页面刷新时,按年份过滤的值会被反映出来,只是单选按钮被取消选中,默认的All单选按钮被选中

我所做的是根据单击的单选按钮的值将单选按钮的id存储在控制器的会话中。如果单选按钮的id与会话中存储的id匹配,则应选中该单选按钮

Index.blade.php

<label>
  <input type="radio" name="year" id="tab" value="_all" class="flat-red filter" checked="checked"> All
</label>

@foreach ($years as $year)
  <label>
      <input type="radio" name="year" id="id{{$year->year}}" value="{{ $year->year }}" class="flat-red filter" checked = {{ Session::get('radio') == "id{{$year->year}}" ? 'checked' : 'false' }}> {{$year->year}}
  </label>
@endforeach

<button type="submit" class="btn btn-primary btn-sm pull-right">Apply Filter</button>
我得到的错误

syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM)
我尝试过的方法, 1.使用JS查看哪个单选按钮被选中,单击并将其存储在本地会话中


我做错了什么或遗漏了什么?

一个解决方案是在控制器中读取该会话变量并将其注入模板中


不要在模板中加入更多的逻辑,这不是模板引擎的目的——更好地解耦这些逻辑。这有助于保持代码的可维护性。刀片模板不需要了解会话的任何信息

{}
中的所有内容都是PHP。
{{}
被Blade编译器替换为如下内容:

<?php echo e(...); ?>

{{}}
放在
{{{}}
中会破坏echo语句的编译。

哪一行抛出该错误?您尝试过调试这个问题吗?{{$year->year}它来自于这一行代码。你试过这样比较吗
checked={{session('radio')==“id”。$year->year?'checked':'false'}}
是的,谢谢!我将代码更改为
工作正常!
<?php echo e(...); ?>
{{ Session::get('radio') == "id{$year->year}" ? 'checked' : 'false' }}