![](/img/trans.png)
[英]Target class [Database\Seeders\UsersTableSeeder] does not exist
[英]Target class [UsersTableSeeder] does not exist
我正在使用 laravel 最新版本 7。
當我運行php artisan db:seed
時,出現以下錯誤:
Illuminate\Contracts\Container\BindingResolutionException
Target class [UsersTableSeeder] does not exist.
編寫完播種器后,您必須運行composer dump-autoload
確保您的composer.json中有此代碼:
"autoload": {
"classmap": [
"database"
],
}
默認的 laravel 安裝沒有UsersTableSeeder
您需要通過運行創建新的播種機
php artisan make:seeder UsersTableSeeder
Laravel 默認沒有 UserTableSeeder。 您可以通過運行以下工匠命令來創建一個:
php artisan make:seeder UsersTableSeeder
運行命令后,您可以在數據庫目錄中找到播種機。 在播種機的運行 function 中,您可以創建所需的用戶。
下面的示例適用於我的 RoleSeeder,但它可能為合適的解決方案提供一些方向:
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$customer = Role::updateOrCreate(['name' => 'customer']);
$customerPermissions = [
'view users',
'create users',
'edit users',
'delete users',
'view machines',
'view profile',
'edit profile',
'view documents',
];
$customer->givePermissionTo($customerPermissions);
}
我建議使用 updateOrCreate function 只是因為在測試中您可能想要多次運行播種機。 此 function 將檢查記錄是否已存在並相應地更新記錄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.