繁体   English   中英

Laravel 5中雄辩模型继承的最佳方法?

[英]Best way for Eloquent Model inheritance in Laravel 5?

我有一个Laravel项目,正在使用Eloquent建立模型。

假设我有三个相关的表:

User
Demographics
Roles

我希望我的用户模型可以基于外键作为一对一关系继承DemographicsRoles

我只是在寻找有关可能是最有效/最优雅/最安全/最有效/最干净的方法的反馈。

因此,您只是在寻找基本关系并渴望加载这些关系。
尝试这个:

class User extends Model
{
    public function demographic()
    {
        return $this->hasOne('App\Demographic');
    }
    public function role()
    {
        return $this->hasOne('App\Role');
    }
}
class Demographic extends Model
{
    public function user()
    {
        return $this->belongsTo('App\User');
    }
}
class Role extends Model
{
    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

然后以所有关系访问用户:

$user = User::with(['demographic', 'role'])->find(1);

var_dump($user->demographic); // returns the related Demographic model
var_dump($user->role); // returns the related Role model

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM