【问题标题】:Blade : select option inside foreach loopBlade:在 foreach 循环中选择选项
【发布时间】:2023-03-08 10:20:01
【问题描述】:

从 DB 返回 collectiondepartments

我正在尝试在我的.blade 文件中的select 中显示此列表,如下所示:

<select name="department" data-required="1" class="form-control">
     @foreach ($departments as $dep)
           <option value="{{ $dep->id }}" > {{ $dep->label }}</option>
     @endforeach
</select>

现在我收到了这个错误:

语法错误,意外的 '$dep' (T_VARIABLE),期望 ',' 或 ')' (查看:/....../...blade.php)在选项行中

但如果我从option 的值属性中删除"{{ $dep-&gt;id }}",一切正常!

我想不通!而且我确信我有一个id 属性。

谢谢。

【问题讨论】:

  • 你能显示你的错误堆栈吗?
  • 那里有一个分享按钮分享
  • 尝试将语法从 {{ }} 更改为 {!! !!}。标签中可能有特殊字符。 &lt;option value="{{!! $dep-&gt;id !!}}" &gt; {{!! $dep-&gt;label !!}}&lt;/option&gt;
  • var_dump 你的 $dep->id

标签: php laravel foreach laravel-blade


【解决方案1】:

这可能是由于您的视图缓存而发生的,所以 清除视图缓存后尝试,因为您的代码是完美的,它应该可以工作。 尝试清除视图缓存

php artisan view:clear

php artisan view:cache

清除其他缓存

php artisan cache:clear

php artisan view:clear

php artisan view:cache

php artisan config:cache

【讨论】:

    【解决方案2】:

    只需从此行中删除 "" 即可:

     <option value={{ $dep->id }} > {{ $dep->label }}</option>
    

    【讨论】:

    • 谢谢!但奇怪的是,这是有效的!你能解释一下为什么吗?
    • 这是 Blade 渲染问题,它无法计算 " " 内的表达式
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 2012-06-19
    相关资源
    最近更新 更多