Laravel 命名空间更改为 App\Models 后的包问题

Problem with packages after Laravel namespace change to App\Models

所以我使用命名空间模型转换将 App 更改为 App\Models。

其中一个正在使用的包 (Ticketit) 调用了 App\User,我需要一种方法来覆盖它。

违规文件是: \vendor\kordy\ticketit\src\Models\Agent.php

如何覆盖“使用 App\user;”在那里排队?

从我在 source code 中看到的内容来看,它是硬编码的,所以你不能做任何事情......我不确定你是否可以“伪造” App\User 指向使用 composer 到 App\Models\User,但这会很讨厌,如果您在 app 文件夹内部创建了一个 class,名称为 User,它只会像这样扩展模型:

namespace App;

use App\Models\User as UserModel;

class User extends UserModel { }

这很讨厌,但也许是适合您的解决方案...


编辑: 如果你仔细阅读 documentation(请在下次使用包时这样做),它已经说要确保 App\User 存在...

它告诉你做:

namespace App;

class User extends Models\User {
    //leave this empty
}

有关详细信息,请参阅此 github issue 或自己创建一个。