gpt4 book ai didi

php - 如何更改 Laravel 中的默认通知表名称

转载 作者:可可西里 更新时间:2023-11-01 01:13:53 26 4
gpt4 key购买 nike

我想更改notification表名,所以我更改了迁移文件:

php artisan notification:table

Schema::create('member_notifications', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->string('type');
$table->morphs('notifiable');
$table->text('data');
$table->timestamp('read_at')->nullable();
$table->timestamps();
});

并尝试在 Notification 类中使用 $table :

protected $table = 'member_notifications';

但是当我试图在数据库中存储通知时,我得到了这个错误:

SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "notifications" does not exist

最佳答案

如果您想将默认的通知表更改为您的自定义表,您应该做三件事:

  1. 将迁移文件中的表名称更改为 member_notifications。运行迁移。
  2. 创建您的模型,例如 DatabaseMemberNotification。从 Illuminate\Notifications\DatabaseNotification 扩展它并覆盖属性

    protected $table = 'member_notifications';
  3. 在默认的User模型中添加这个函数:

    public function notifications()
    {
    return $this->morphMany(DatabaseMemberNotification::class, 'notifiable')->orderBy('created_at', 'desc');
    }

    实际上它会覆盖 HasDatabaseNotifications trait 中的 notifications() 方法。

    注意:第一个参数应该是您的新模型类。

关于php - 如何更改 Laravel 中的默认通知表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45166744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com