Agu*_*ine 0 php web laravel laravel-8
我目前正在学习 Laravel 8 中的数据库播种。运行种子时,我收到一条错误消息
找不到类“Database\Seeders\App\Models\Admin”
首先,我在App\Models中创建了名为Admin.php的迁移数据库文件,然后放置了这些代码
<?php
namespace App\Models;
use Illuminate\Notification\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
//use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Admin extends Authenticatable
{
use Notifiable;
protected $guard = 'admin';
protected $fillable = [
'name', 'type','email','password','image','status','created_at','updated_at',
];
protected $hidden = [
'password', 'remember_token',
];
}
Run Code Online (Sandbox Code Playgroud)
之后,我创建了一个名为AdminsTableSeeder.php的播种器并放置了这些代码
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use DB;
class AdminsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('admins')->delete();
$adminRecords = [
[
'id'=>1,
'name'=>'admin',
'type'=>'admin',
'email'=>'admin@admin.com',
'password'=>'',
'image'=>'',
'status'=>1,
],
];
foreach ($adminRecords as $key => $record){
App\Models\Admin::create($record);
}
}
}
Run Code Online (Sandbox Code Playgroud)
最后在DatabaseSeeder.php上,我将这些代码用于调用AdminsTableSeeder
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call(AdminsTableSeeder::class);
}
}
Run Code Online (Sandbox Code Playgroud)
完成所有这些操作后,我执行了 Composer du 并尝试运行种子命令,但收到了错误消息。
编辑 我已经尝试修改代码
foreach ($adminRecords as $key => $record){
App\Models\Admin::create($record);
}
Run Code Online (Sandbox Code Playgroud)
到
foreach ($adminRecords as $key => $record){
\App\Models\Admin::create($record);
}
Run Code Online (Sandbox Code Playgroud)
但我仍然收到类似的错误消息
播种:Database\Seeders\AdminsTableSeeder PHP 致命错误:在第 11 行的 C:\xam pp\htdocs\tobacon_web\app\Models\Admin.php 中未找到特征“Illuminate\Notification\Notific”
Symfony\Component\ErrorHandler\Error\FatalError
未找到特征“照亮\通知\可通知”
在AdminsTableSeeder.php文件中,更改以下行:
App\Models\Admin::create($record);
Run Code Online (Sandbox Code Playgroud)
到
\App\Models\Admin::create($record);
Run Code Online (Sandbox Code Playgroud)
use App\Models\Admin或者在文件顶部添加 use 语句,然后将代码编辑为Admin::create($record).
| 归档时间: |
|
| 查看次数: |
2454 次 |
| 最近记录: |