雄辩的ORM可选关系

时间:2015-07-09 06:45:02

标签: laravel eloquent

只是一个简短的问题,我是Eloquent和关系的新手。

我想保持我的数据库干净,所以我创建了一个User - 模型和一个Administrator - 模型。

现在我被这种关系所困扰......我想做的是以下几点:

users - 表格中,我有一个名为account_type的属性。

如果那个设置为adminadministrator,我想将Administrator - 模型“实施”到User - 模型。

我在这里做了一个完全错误的方法,还是有一个简单的“laravel-style”解决方案呢?

1 个答案:

答案 0 :(得分:1)

类管理员无法在用户中实现,因为它不是界面,如果要使用管理员类,请在用户模型中建立关系

public function admin()
{
    return $this->hasMany('Administrator');
}

然后,

$users = User::whereHas('admin', function($q) {
    $q->where('account_type', 'administrator'); // or admin
})->get();
如果您需要

,请在管理员中建立belongsTo关系

参考链接:Eloquent ORM