【问题标题】:How to overwrite an vendor class如何覆盖供应商类
【发布时间】:2016-12-24 12:04:31
【问题描述】:

如何覆盖供应商类? 我正在使用 Laravel Spark,我希望所有模型都有 Uuid。由于 Spark 管理包内的一些模型,我看不到将我自己的模型用于通知等的可能性。我想覆盖 Illuminate\Database\Eloquent\Model 的基本模型类,所以我可以在那里包含我的 uuid 特征。

我通过以下方式尝试了 ServiceProvider:

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

但是没有用。

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

感谢您的帮助。

【问题讨论】:

  • 当你说i don't see a possibility to use my own model for Notifications etc. i would like to overwrite the base Model class...你应该解释为什么?
  • 因为通知模型来自 spark 包。所以我无法调整或覆盖ist(或不知道如何)因为它在包内

标签: php laravel class laravel-spark


【解决方案1】:

创建一个自定义模型类来扩展 eloquent 模型。

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class CustomModel extends Model {
    // Your implementation
}

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

class Test extends CustomModel {
}

【讨论】:

  • 通知模型以及其他类似用户等的模型已经从基本模型扩展。
  • @mastercheef85 我理解你的担忧。我在网上找到了medium.com/@steveazz/…。你检查了吗?
  • 谢谢,但我知道。问题不在于 uuid 本身并在模型上使用它,问题在于供应商 spark 包。它具有通知和其他模型,使用框架中的默认 eloquent 模型。我无法更改供应商模型,所以我想覆盖默认的 eloquent 模型以使用自动扩展所有模型的特性。
猜你喜欢
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 2020-07-05
  • 1970-01-01
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
相关资源
最近更新 更多