当前位置: 首页 > 知识库问答 >
问题:

如何在Laravel 5.4中为数据透视表种子?

孙成化
2023-03-14

我下面是一个教程,名为在laracast中的增量API由Jeffrey Way。

Laravel 4 faker类种子和Laravel 5.4之间的编码不同。

我仍然遵循教程“Seeders Reloated”中相同的代码行。现在,我只能说“LessonTagTableSeeder类不存在”

标签进料器

class TagsTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {

        $faker = Faker::create('App\Tag');

        for($i=1; $i <= 10; $i++) {

            DB::table('tags')->insert([
                'name' => $faker->word,
                'created_at' => \Carbon\Carbon::now(),
                'updated_at' => \Carbon\Carbon::now(),

            ]);


        }


    }

LessonTag表播种机

use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
use App\Lesson;
use App\Tag;

class LessonTagTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {

        $faker = Faker::create();

        $lessonIds = Lesson::pluck('id')->all();
        $tagIds = Tag::pluck('id')->all();

        for($i=1; $i <= 30; $i++) {

            DB::table('lesson_tag')->insert([
                'lesson_id' => $faker->randomElement($lessonIds),
                'tag_id' => $faker->randomElement($tagIds)
            ]);


        }


    }

数据库搜索

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use App\Lesson;
use App\Tag;
use DB;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {

        DB::statement('SET FOREIGN_KEY_CHECKS=0');
        Lesson::truncate();
        Tag::truncate();
        DB::table('lesson_tag')->truncate();

        Model::unguard();

        $this->call('LessonsTableSeeder');
        $this->call('TagsTableSeeder');
        $this->call('LessonTagTableSeeder');

        DB::statement('SET FOREIGN_KEY_CHECKS=1');

    }

我能够使用php artisan db:seed--class=TagsTableSeeder为TagsTableSeeder设定种子

当我运行“php artisan db:seed--class=LessonTagTableSeeder”时,系统会提示我:

[ReflectionException]类LessonTagTableSeeder不存在

你知道如何编辑上面的代码吗?任何帮助都很感激

共有3个答案

宁弘亮
2023-03-14

请运行此命令,然后重试

作曲家转储自动加载-o

太叔豪
2023-03-14

确保文件名为LessonTagTableSeeder。php,它与其他种子机位于同一目录中。然后运行以下命令:

composer du

之后,再次尝试执行播种机。

长孙和悦
2023-03-14

当您对种子文件进行更改时,它不会反映您的更改,您需要运行作曲家转储自动加载。

您可以使用以下任一命令

$ composer dump-autoload

$ composer du

$ composer dump


$ composer dump-autoload -o

然后再次尝试运行命令db:seed,它将反映您所做的更改。

什么作曲家转储自动加载?

作曲家转储-自动加载不会下载任何东西。它只是重新生成需要包含在项目中的所有类的列表(autoload_classmap.php)。非常适合在项目中有新类时使用。

理想情况下,您可以执行composerdump autoload-o,以更快地加载网页。它不是默认值的唯一原因是,它需要更长的时间生成(但只是稍微明显)

 类似资料:
  • A 数据透视表介绍 B.1 什么是数据透视表? 数据透视表是一种可以快速汇总、分析大量数据表格的交互式工具。使用数据透视表可以按照数据表格的不同字段从多个角度进行透视,并建立交叉表格,用以查看数据表格不同层面的汇总信息、分析结果以及摘要数据。使用数据透视表可以深入分析数值数据,以帮助用户发现关键数据,并做出有关企业中关键数据的决策。 数据透视表是针对以下用途特别设计的:以友好的方式,查看大量的数据

  • 我有一个和模型,其中有一个名为的数据透视表。在透视表中,当用户按下“参与”按钮时,会保存和。 我已经显示了所有的事件列表。现在我想显示作为参与而不是作为参与而参与的事件。 我试过控制器 刀片文件 我已经在和模型中设置了关系。 这段代码的问题是第二个foreach循环是pivot表循环。假设透视表中有一个数据。我列出了5个事件。由于pivot table foreach(第二个)的缘故,刀片文件中只

  • 数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水

  • 数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水平对齐方式。 数据 字体 设置字段名

  • 数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水

  • 问题内容: 我在下面的表A中,对于每个唯一的ID,都有三个带有某些值的代码。 我有第二个表B,其格式如下: 每个唯一ID仅一行。我想为第一个表中的每个ID填充第一个表A中的第二个表B。 对于上面的第一个表A,第二个表B应该显示为: 如何在单个SQL查询中实现此目标? 问题答案: 如果您的版本没有,您也可以使用以下命令: (在我的V6R1 DB2实例上工作,并有一个SQL Fiddle示例)。