处理包含两个用户模型的继承Laravel Spark项目。
一个是App目录中的标准Spark模型,另一个是App / Models内部。我已经将两个模型组合在一起并更新了auth.php以引用Models目录中的User模型,但是composer dump-autoload却说它无法找到App / User模型。
如何告诉自动加载器用户模型不再存在 而是在Models目录中?
编辑:
我已将命名空间更改为App / Models但仍收到错误:
class_parents(): Class App\User does not exist and could not be loaded
在我的终端上运行dump-autload
第二次编辑:
修复了,没有意识到命名空间被引用了这么多。在App \ User上找到并替换并对问题进行了排序。
答案 0 :(得分:2)
您需要更改User
模型命名空间:
namespace App\Models;
答案 1 :(得分:2)
更改命名空间,并像这样使用
namespace App\Models;
答案 2 :(得分:2)
尝试重命名命名空间。 :)
namespace App\Models;
答案 3 :(得分:1)
标准的Laravel安装将可以通过简单地更改名称空间来实现,如其他人所提到的那样。但是Laravel Spark引用了User
和Team
模型;因此,仅更改名称空间是行不通的。
您不应编辑vendor/laravel/spark-aurelius
(aurelius
代号会因您的版本而异)内的任何文件,因为不会跟踪这些更改。
使用Spark,您应将以下几行添加到app/Providers/SparkServiceProvider.php
中:
public function register()
{
Spark::useUserModel('App\Models\User');
Spark::useTeamModel('App\Models\Team');
}
您可以设置自己的自定义App\Models
目录,而不使用上面的示例。
最后,您将需要更新对模型所做的所有引用,例如将控制器use App\User
更新为use App\Models\User
。