Builder 插件如何显示另一个模型 class 选择的项目而不是所有项目?

Builder plugin how to display items selected by another model class instead of all items?

我使用 octoberCMS Builder 插件构建了自己的插件。 有 2 种不同的模型 classes

  1. 类别
  2. 项目

在模型 class 中 "item" 我与模型 class 类别有关系,因此每个项目都可以链接到 "category"。

在我的网页上,我想显示型号 class 类别以及型号 class "item" 中链接到该类别的所有项目。

但是,现在会显示所有项目,而不是链接到类别的项目。 我的想法是使用 == 符号,但目前还行不通。 我该如何解决这个问题?非常感谢您的帮助!

explanation of my question what my page looks like

也许你可以利用亲子关系。

In your Category model add relationship

class Category extends Model
{
    // we consider item table has `category_id` field to maintain relationship  
    public $hasMany = [
        'items' => ['Yournamespace\Item']
    ];
}

now all you can so is fetch Categories

$categories= Category::all();
// pass $categories to view

now loop through category and its items

<ul>
    {% for category in categories%}
        <li>
            <h3> {{ category.name }} </h3>
            <ul>
                {% for item in category.items %}
                    <li>{{ item.name }}</li>
                {% endfor %}
            </ul>
        </li>
    {% endfor %}
</ul>

它将 show list of categories 作为 主列表 each list have sub-list 作为 它的项目

如有疑问请评论。