如何在用户和类别之间建立关系?
类别包含多个用户,用户属于某个类别
我在用户表中添加category_id
前端的我显示了插件builder的用户列表 但我还想显示用户的类别
我使用RainLab用户插件
请帮帮我,
提前谢谢
答案 0 :(得分:3)
似乎您需要扩展用户模型并添加public function boot()
{
//Extending User Plugin
\RainLab\User\Models\User::extend(function($model) {
$model->hasOne['category'] = 'HardikSatasiya\Plugin\Models\Category';
});
}
关系运行时
您需要将此代码添加到插件的启动方法
$userModel->category->name
此代码将为用户模型添加动态关系,因此您现在可以直接使用此关系,如{% for user in records %}
Email : {{ user.email }}
Category : {{ user.category.name }}
{% endfor %}
所以现在在列表中你可以使用下面的代码
RecyclerView
如果有任何疑问请发表评论。
答案 1 :(得分:1)
使用OctoberCMS relationships非常容易。我认为你已经在 User
模型中定义了这种关系,如果没有像下面那样定义它,
public $belongsTo = [
'catgeory' => 'YourPluginName\YourAuthorName\Models\Category'
];
取代 YourPluginName & YourAuthorName ,请定义您的作者和插件名称。
定义关系后,您可以按$user->category
e.g。假设您有第一个用户,那么您可以按
检索类别$user = User::first();
$category = $user->category;
//and now you can get the category name and all fields by $category,
//$category->title;
//$catgory->name;
如果您在页面中使用 twig ,并且您向用户显示{{ user.name}}
(字段可能不同),那么您必须使用{{ user.category.name}}
(字段)可能会有所不同)你也可以展示类别。
我希望您能获得用户的分类。如果您发现任何困难,请发表评论。