我有一个新的Laravel装置。我已经从github存储库转移了代码,该存储库是Laravel项目,版本相同(5.3)。
一切正常,除了某些原因,数据库种子不会运行。
例如,我可以从新的Laravel安装中的github加载迁移进行迁移,就像我在首先将迁移推送到github的服务器上一样。
但我无法做public boolean requestForPermission() {
boolean isPermissionOn = true;
final int version = Build.VERSION.SDK_INT;
if (version >= 23) {
if (!canAccessExternalSd()) {
isPermissionOn = false;
requestPermissions(EXTERNAL_PERMS, EXTERNAL_REQUEST);
}
}
return isPermissionOn; }
public boolean canAccessExternalSd() {
return (hasPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)); }
private boolean hasPermission(String perm) {
return (PackageManager.PERMISSION_GRANTED == ContextCompat.checkSelfPermission(this, perm));
}
,这意味着我漂亮的小数据库是空的! >:(
我得到: ReflectionException类不存在
我尝试过:
php artisan db:seed
php artisan optimize
php artisan clear:cache
composer clearcache
这些都没有解决我的问题。 composer dump-autoload
中的所有内容拼写正确且类存在,它们在我的其他服务器上运行良好,而且,这个全新安装现在具有与我的原始服务器相同的所有文件,这要归功于Github。
DatabaseSeeder.php:
DatabaseSeeder
编辑 - 堆栈跟踪:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(UserTableSeeder::class);
}
}
答案 0 :(得分:0)
我通过选择一个单独的课来解决问题:
php artisan db:seed --class=UserTableSeeder
在没有任何争论的情况下反对db:seed
,但我仍然想知道为什么必须这样做。
同样,我的代码中没有UserTablesSeeder
,所以不知道为什么日志显示这是种子尝试,而我从未声明过。
在UserTableSeeder
中没有s
的情况下始终Table
。
编辑现在,我的自定义中间件无法正常运行......新安装似乎是一个问题,不喜欢github的一些新代码...如果有人可以提供一个更好的答案,我很乐意接受。
答案 1 :(得分:0)
对于 Laravel 6.0 ,进行更改
$this->call(UserTableSeeder::class);
到
$this->call('UserTableSeeder');
是我的把戏吗?
答案 2 :(得分:0)
尝试运行
composer dump-autoload
尤其是如果您最近编辑了种子文件的名称
答案 3 :(得分:0)
我删除了种子文件,然后重新制作它,一切正常。