![](/img/trans.png)
[英]Laravel, Call to undefined function Database\Seeders\factory()
[英]Laravel-8 , Call to undefined function Database\Seeders\table()
运行此命令php artisan db:seed
时出现此错误:“调用未定义函数 Database\Seeders\table()”屏幕截图: db 播种错误
由于我是 laravel 的新手,在搜索各种示例后,我无法修复代码的错误。我通过php artisan make:model ServiceCategory -m
命令创建了一个模型,该命令创建了这个模型 ServiceCategory.php :
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class ServiceCategory extends Model
{
use HasFactory;
}
并且还创建了一个迁移 2022_07_20_200919_create_service_categories_table.php 文件:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('service_categories', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('slug')->index();
$table->string('image');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('service_categories');
}
};
然后我创建了一个播种机名称:ServiceCategorySeeder.php:
<?php
namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class ServiceCategorySeeder extends Seeder
{
public function run()
{
DB:table('service_categories')->insert([
[
"name"=> "AC Installation",
"slug"=>"ac-installation",
"image"=>"ac installation.png"
],
[
"name"=> "AC Uninstallation",
"slug"=>"ac-uninstallation",
"image"=>"ac uninstallation.png"
],
[
"name"=> "AC Repair",
"slug"=>"ac-repair",
"image"=>"ac repair.png"
],
[
"name"=> "Laundry",
"slug"=>"laundry",
"image"=>"laundry.png"
],
[
"name"=> "Electrical",
"slug"=>"electrical",
"image"=>"electrical.png"
],
[
"name"=> "Plumbing",
"slug"=>"plumbing",
"image"=>"plumbing.png"
],
[
"name"=> "Painting",
"slug"=>"painting",
"image"=>"painting.png"
],
[
"name"=> "House Shifitng",
"slug"=>"house shifitng",
"image"=>"house-shifitng.png"
],
[
"name"=> "Tank Cleaning",
"slug"=>"tank cleaning",
"image"=>"tank-cleaning.png"
],
[
"name"=> "Furniture",
"slug"=>"furniture",
"image"=>"furniture.png"
],
[
"name"=> "Home Deep Cleaning",
"slug"=>"home-deep-cleaning",
"image"=>"home deep cleaning.png"
],
[
"name"=> "Bathroom Deep Cleaning",
"slug"=>"bathroom-deep-cleaning",
"image"=>"bathroom deep cleaning.png"
]
]);
}
}
还修改了 DatabaseSeeder.php 是:
<?php
namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call([
ServiceCategorySeeder::class
]);
}
}
成功运行命令: composer dump-autoload
我运行了导致此错误的命令php artisan db:seed
是 ss:
ABIR HASSAN@LAPTOP-D9T7UM30 MINGW64 /d/XAMP/htdocs/testproject_Copy
$ php artisan db:seed
Seeding: Database\Seeders\ServiceCategorySeeder
Error
Call to undefined function Database\Seeders\table()
at D:\XAMP\htdocs\testproject_Copy\database\seeders\ServiceCategorySeeder.php:13
9▕ {
10▕
11▕ public function run()
12▕ {
➜ 13▕ DB:table('service_categories')->insert([
14▕ [
15▕ "name"=> "AC Installation",
16▕ "slug"=>"ac-installation",
17▕ "image"=>"ac installation.png"
1 D:\XAMP\htdocs\testproject_Copy\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:36
Database\Seeders\ServiceCategorySeeder::run()
2 D:\XAMP\htdocs\testproject_Copy\vendor\laravel\framework\src\Illuminate\Container\Util.php:41
Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
提前感谢您的帮助。
在您的播种机中,您需要DB::table
而不是DB:table
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.