我想在这种情况下(使用MySQL DB)要求最佳策略:
我有一个用户模型/表。用户可以有3种不同的类型:管理员,所有者和工人。
我看到第一个选项:
所有者和工作人员扩展用户模型是否有意义,因为他们有共同的字段并添加“角色”。用户表中的字段?
为所有者和工人创建2个其他表是否正确?
在这种情况下,Eloquent如何处理关系?
第二个选项(更简单但......):
管理员,所有者,工人是3种不同的模型/表
然后我想获得如下数据:
答案 0 :(得分:1)
最后,我使用了:
在User模型中,一些queryScope方法按角色检索用户:
public function scopeOwners($query)
{
$query->whereHas('roles', function ($q) {
$q->where('name','owner');
});
}
很容易。