我有一個過濾器表。

類別表

我想獲取類別表的名稱并將其顯示在過濾器索引頁面上。

因為我創建了一個類別(即手機配件)。所以我必須展示這一點。如何從過濾器模型中顯示?不是來自類別模型。僅過濾器型號。因為以后想編輯洗掉。
過濾器控制器.php
public function index()
{
$filters = Filter::with('category')->latest()->paginate(25);
return view('Admin.filters.index', compact('filters'));
}
過濾器.php
public function category()
{
return $this->belongsTo(Category::class);
}
index.blade.php
@foreach($filters->category as $filter)
<tr>
<td>{{ $filter->id }}</td>
<td>{{ $filter->name }}</td>
<td>-</td>
<td>
<div class="btn-group btn-group-sm">
<a href="{{ route('filters.edit', $filter->id) }}" hljs-string">">edit</a>
<button type="button" hljs-string">" data-action="{{ route('filters.destroy', $filter->id) }}" data-bs-toggle="modal" data-bs-target="#deleteFilter" onclick="loadDeleteModal(`{{ $filter->name }}`)" data-id="{{ $filter->id }}">remove</button>
</div>
</td>
</tr>
@endforeach
我看到這個錯誤
未定義屬性:Illuminate\Pagination\LengthAwarePaginator::$category(視圖:C:\xampp8\htdocs\projects\digikala\laravel7\resources\views\Admin\filters\index.blade.php)
uj5u.com熱心網友回復:
你是分頁過濾器還是類別?
在您的查詢中,您正在分頁過濾器模型,但在您的刀片中,您正在回圈類別。
如果您想訪問過濾器屬性,代碼應該如下所示
@foreach($filters as $filter)
<tr>
<td>{{ $filter->id }}</td>
<td>{{ $filter->name }}</td>
<td>-</td>
<td>
<div class="btn-group btn-group-sm">
<a href="{{ route('filters.edit', $filter->id) }}" hljs-string">">edit</a>
<button type="button" hljs-string">" data-action="{{ route('filters.destroy', $filter->id) }}" data-bs-toggle="modal" data-bs-target="#deleteFilter" onclick="loadDeleteModal(`{{ $filter->name }}`)" data-id="{{ $filter->id }}">remove</button>
</div>
</td>
</tr>
@endforeach
如果要訪問類別屬性
@foreach($filters as $filter)
<tr>
<td>{{ $filter->category->id }}</td>
<td>{{ $filter->category->name }}</td>
<td>-</td>
<td>
<div class="btn-group btn-group-sm">
<a href="{{ route('filters.edit', $filter->id) }}" hljs-string">">edit</a>
<button type="button" hljs-string">" data-action="{{ route('filters.destroy', $filter->id) }}" data-bs-toggle="modal" data-bs-target="#deleteFilter" onclick="loadDeleteModal(`{{ $filter->name }}`)" data-id="{{ $filter->id }}">remove</button>
</div>
</td>
</tr>
@endforeach
uj5u.com熱心網友回復:
如果要顯示附加到任何過濾器的所有類別,可以使用:
public function index()
{
$categories = Category::has('filters')->paginate(25);
return view('Admin.filters.index', compact('categories'));
}
@foreach($categories as $category)
<tr>
<td>{{ $category->id }}</td>
<td>{{ $category->name }}</td>
<td>-</td>
<td>
<div class="btn-group btn-group-sm">
<a href="{{ route('categories.edit', $category->id) }}" hljs-string">">edit</a>
<button type="button" hljs-string">" data-action="{{ route('categories.destroy-with-filters', $category->id) }}" data-bs-toggle="modal" data-bs-target="#deleteFilter" onclick="loadDeleteModal(`{{ $category->name }}`)" data-id="{{ $category->id }}">remove</button>
</div>
</td>
</tr>
@endforeach
請注意,這假定編輯和洗掉按鈕可用于編輯和洗掉類別,并且您已route('categories.destroy-with-filters', $category->id)定義了通過ON DELETE CASCADE手動或手動洗掉類別和相關過濾器的定義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/344479.html
