如何更新laravel的分类下拉菜单 [关闭] [关闭]。

问题描述 投票:0回答:1

这是我的 类别下拉式 编码:

<div class="control-group">
    <label class="control-label">Under Category </label>
    <div class="controls">
        <select name="category_id" id="category_id" style="width:220px;">
            <option value='' selected disabled>Select</option>
            @foreach(App\Category::all() as $cat)
                <option value="{{$cat->id}}">
                    @if {{ $cat->parent ? '--' . $cat->name : $cat->name }}
                    selected @endif>{{ $cat->parent ? '--' . $cat->name : $cat->name }}
                </option>
            @endforeach
        </select>

    </div>
</div>

对于更新类别,我只用

 @if {{ $cat->parent ? '--' . $cat->name : $cat->name }}
   selected @endif>{{ $cat->parent ? '--' . $cat->name : $cat->name }}

但却给出了这样一个错误:-

ErrorException (E_ERROR) 语法错误,意外的':',期待'('(View.F:\\laragon\www\flipcart\resources\views\admin\products\editproduct.blade.php))。 F:\laragon\www\flipcart\resources\views\admin\products\editproduct.blade.php)

php laravel model-view-controller e-commerce categories
1个回答
1
投票

首先从最佳实践的角度来看,不要从视图中与数据层通信。使用控制器将数据传递给视图。

对于你的问题:修复if语句,你是想呼应条件。

 <select class="form-control form-control-alternative" name="category">
  <option selected value="{{$category->id}}">{{$category->name}}</option>
  @foreach($$categories as $cat)
      @if($cat->id !== $category->id)
          <option value="{{$cat->id}}">{{$cat->name}}</option>
      @endif
  @endforeach
</select>

调用我的控制器的函数

public function __invoke(Category $category)
{
    $categories = Category::all();
    return view('machine.edit', compact('category', 'categories'));
}
© www.soinside.com 2019 - 2024. All rights reserved.