如何制作可扩展的Eloquent模型?

时间:2013-06-15 16:08:37

标签: php laravel one-to-many relationship eloquent

如何在不修改源代码的情况下添加到Eloquent模型?我的意思是说我有一个用户模型,我想添加一个has_many关系到ProfilePost但我不想修改用户模型。我想这样做是因为稍后,第三方开发人员也可以将他们的关系添加到我的用户模型,而无需更改我的用户模型的源代码。对此有什么可接受的解决方案?我一直在寻找一个onomanomany关系,但我仍然需要在User模型中添加belongs_to子句。

对此可接受的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

是开发人员创建新用户模型的解决方案,扩展了您的用户模型。

您的用户模型

<?php namespace \App\Models;

use Eloquent;

class User extends Eloquent {}

第三方开发者用户模型

<?php namespace \custom_lib\Models;

use \App\Models\User as BaseUser;

class User extends BaseUser {}

现在在\ custom_lib \ Models \ User中,第三方开发者可以添加他的lib /插件的关系。