2016-12-24 66 views
1

如何覆盖供应商类? 我正在使用Laravel Spark,我想为所有型号配备Uuid。 Due Spark管理包内的一些模型,并且我没有看到使用我自己的模型用于通知等的可能性。我想从Illuminate\Database\Eloquent\Model覆盖基类Model类,所以我可以在其中包含我的uuid特征。如何覆盖供应商类

我尝试过的ServiceProvider有:

public function boot() 
{ 
    // 
    $this->app->bind('Illuminate\Database\Eloquent\Model', 'App\Models\Model'); 
} 

但它并没有奏效。

是否有可能或存在更好的方法?

感谢您的任何帮助。

+0

当你说'我没有看到可能性使用我自己的模型通知等我想覆盖基础模型类...你应该解释为什么? – prateekkathal

+0

,因为通知模型来自spark包。所以我无法调整或覆盖IST(或不知道如何)导致它在包内 – mastercheef85

回答

0

创建一个自定义模型类,它将扩展雄辩模型。

namespace App\Models; 

use Illuminate\Database\Eloquent\Model; 

class CustomModel extends Model { 
    // Your implementation 
} 

然后您扩展自定义模型的其余模型。

class Test extends CustomModel { 
} 
+0

通知模型以及像用户等其他人已经扩展到基本模型。 – mastercheef85

+0

@ mastercheef85我明白你的关心。我发现在线https://medium.com/@steveazz/setting-up-uuids-in-laravel-5-552412db2088#.74yoc66t5。你检查过了吗? –

+0

谢谢,但是我知道。问题不在于uuid本身,而是在模型上使用它,问题在于供应商激发了包装。其中包含通知和其他模型,使用框架中的默认雄辩模型。我不能改变供应商的模型,所以我想覆盖默认的雄辩模型,使用自动所有模型扩展的特质。 – mastercheef85