在Laravel中播种用户及其配置文件时出现问题

马尔

我有用户播种机和用户个人资料播种机。当前,当我为数据库添加种子时,在用户表中有150个用户,在配置文件中只有4个用户的用户表填充了user_profiles表。现在,我知道问题出在UserProfileSeeder.php的getUsers()函数中,该函数仅用四个用户返回json_decode结果。我需要有关如何为第四个用户(normaluser3)编写“ for”循环的帮助,以便在user_profiles表中获得正确的结果数(150)?任何帮助表示赞赏。这是我的代码。

UserSeeeder.php

<?php

use App\User;
use App\Gender;
use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;

class UserSeeder extends Seeder
{
    /**
    * Run the database seeds.
    *
    * @return void
    */
    public function run()
    {
        $genders = DB::table('genders')->insert([
            [
                'genders' => 'Woman',
            ],
            [
                'genders' => 'Woman Looking For Woman',
            ],
            [
                'genders' => 'Man',
            ]
        ]);

        $genderIds = Gender::pluck('id');

        DB::table('users')->insert([
            'gender_id' => $genderIds->random(),
            'name' => 'authuser',
            'email' => '[email protected]',
            'email_verified_at' => now(),
            'password' => Hash::make('auth123456'),
            'age' => 18,
            'premium' => rand(0, 1),
            'remember_token' => Str::random(10), 
            'created_at' => Carbon::now(),
            'updated_at' => Carbon::now(),
        ]); 

        DB::table('users')->insert([
            'gender_id' => $genderIds->random(),
            'name' => 'normaluser',
            'email' => '[email protected]',
            'email_verified_at' => now(),
            'password' => Hash::make('normal123456'),
            'age' => 18,
            'premium' => rand(0, 1),
            'remember_token' => Str::random(10), 
            'created_at' => Carbon::now(),
            'updated_at' => Carbon::now(),
        ]);

        DB::table('users')->insert([
            'gender_id' => $genderIds->random(),
            'name' => 'normaluser2',
            'email' => '[email protected]',
            'email_verified_at' => now(),
            'password' => Hash::make('normal2123456'),
            'age' => 18,
            'premium' => rand(0, 1),
            'remember_token' => Str::random(10), 
            'created_at' => Carbon::now(),
            'updated_at' => Carbon::now(),
        ]);

        $faker = Faker\Factory::create();
        for ($i = 0, $n = 150; $i < $n; $i++) {
            DB::table('users')->insert([
                [
                    'gender_id' => $genderIds->random(),
                    'name' => 'normaluser3',
                    'email' => $faker->unique()->safeEmail,
                    'email_verified_at' => now(),
                    'password' => Str::random(12),
                    'age' => 18,
                    'premium' => rand(0, 1),
                    'remember_token' => Str::random(10), 
                    'created_at' => Carbon::now(),
                    'updated_at' => Carbon::now(),
                ]
            ]);
        }
    }
}

UserProfileSeeder.php

<?php

use App\User;
use Carbon\Carbon;
use Faker\Provider\Address;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class UserProfileSeeder extends Seeder
{
    /**
    * Run the database seeds.
    *
    * @return void
    */
    public function run()
    {
        $faker = Faker\Factory::create();
        foreach ($this->getUsers() as $userObject) {
            $user = User::all()->random()->id;
            $profile = DB::table('user_profiles')->insertGetId([
                'user_id' => $user,
                'status' => $faker->numberBetween($min = 1, $max = 2),
                'first_name' => $faker->firstName(),
                'last_name' => $faker->lastName(),
                'job' => $faker->company,
                'distance' => $faker->numberBetween($min = 1, $max = 1000),
                'city' => $faker->city,
                'interested_in' => $faker->numberBetween($min = 1, $max = 2),
                'age_from_preference' => $faker->numberBetween($min = 18, $max = 35),
                'age_to_preference' => $faker->numberBetween($min = 36, $max = 66),
                'looking_for' => $faker->numberBetween($min = 1, $max = 5),
                'personal_quote' => $faker->text(),
                'bio_about' => $faker->text(),
                'postal_code' => Address::postcode(),
                'country' => $faker->country,
                'height' => $faker->numberBetween($min = 140, $max = 220),
                'orientation' => $faker->numberBetween($min = 1, $max = 3),
                'sexual_preferences' => $faker->numberBetween($min = 1, $max = 4),
                'body_type' => $faker->numberBetween($min = 1, $max = 4),
                'relationship_status' => $faker->numberBetween($min = 1, $max = 5),
                'children' => $faker->numberBetween($min = 1, $max = 5),
                'smoke' => $faker->numberBetween($min = 1, $max = 3),
                'education' => $faker->numberBetween($min = 1, $max = 4),
                'astro' => $faker->numberBetween($min = 1, $max = 12),
                'hobbies' => $faker->sentence(),
                'workplace' => $faker->jobTitle,
                'sports' => $faker->numberBetween($min = 1, $max = 12),
                'movies_series' => $faker->numberBetween($min = 1, $max = 12),
                'music' => $faker->numberBetween($min = 1, $max = 12),
                'food' => $faker->numberBetween($min = 1, $max = 12),
                'literature' => $faker->numberBetween($min = 1, $max = 12),
                'mobile_number' => $faker->phoneNumber,
                'updated_at' =>  Carbon::now(),
            ]);
        }
    }

    public function getUsers()
    {
        $jsonData = '[
        {
            "name":"authuser"
        },
        {
            "name":"normaluser"
        },
        {
            "name":"normaluser2"
        },
        {
            "name":"normaluser3" // here is that user that is supposed to be in for loop!!!!!!!!!!!!!
        }
    ]';
        return json_decode($jsonData);
    }
}
雷穆尔

更换getUsers()User:all()遍历数据库中的每个用户:

foreach (User::all() as $user) {
    DB::table('user_profiles')->insert([
        'user_id' => $user->id,
        // the rest of your attributes
    ]);

    // if you have a relationship for the profile on your user model
    // this way you can omit the user_id, created_at and updated_at attributes
    $user->profile()->create([
        // the rest of your attributes
    ]);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导入证书和配置文件时出现问题

来自分类Dev

安装配置文件时出现问题

来自分类Dev

使用 Django 管理员用户表单添加内联用户配置文件表单时出现问题

来自分类Dev

在Kdenlive中下载新配置文件时出现问题

来自分类Dev

运行性能测试时,注入配置文件出现问题

来自分类Dev

在Kdenlive中下载新配置文件时出现问题

来自分类Dev

Java:从 yaml 配置文件读取公钥时出现问题

来自分类Dev

将 java 命令转换为 maven 配置文件时出现问题

来自分类Dev

在Django中注册新用户后自动创建配置文件时出现问题,错误显示此“ Manager”对象没有“创建”属性

来自分类Dev

验证用户身份时出现问题:laravel 5.1

来自分类Dev

Windows 7登录屏幕在配置文件出现问题后仅显示最后一个用户和“其他用户”图标

来自分类Dev

我可以“重新加载” Apache2配置文件而不会出现问题吗?

来自分类Dev

用户注册时自动创建配置文件(Laravel 5)

来自分类Dev

Json解析用户配置文件提要中面临的问题

来自分类Dev

在Laravel中创建JSON Feed时出现问题

来自分类Dev

在R中读取JSON文件时出现问题

来自分类Dev

在Ruby中读取大型JSON文件时出现问题

来自分类Dev

从文件中读取日语字符时出现问题-C

来自分类Dev

在Linux上的C中打开文件时出现问题

来自分类Dev

在C#中读取Gzip文件时出现问题

来自分类Dev

在Prolog中写入文件时出现问题

来自分类Dev

在R中读取.rdb文件时出现问题

来自分类Dev

在.sh文件中运行脚本时出现问题

来自分类Dev

在Ubuntu 14.04中运行.mkv文件时出现问题

来自分类Dev

扫描文件中的字符时出现问题

来自分类Dev

在Ruby中读取大型JSON文件时出现问题

来自分类Dev

删除用户时出现问题

来自分类Dev

删除用户时出现问题

来自分类Dev

删除用户时出现问题

Related 相关文章

  1. 1

    导入证书和配置文件时出现问题

  2. 2

    安装配置文件时出现问题

  3. 3

    使用 Django 管理员用户表单添加内联用户配置文件表单时出现问题

  4. 4

    在Kdenlive中下载新配置文件时出现问题

  5. 5

    运行性能测试时,注入配置文件出现问题

  6. 6

    在Kdenlive中下载新配置文件时出现问题

  7. 7

    Java:从 yaml 配置文件读取公钥时出现问题

  8. 8

    将 java 命令转换为 maven 配置文件时出现问题

  9. 9

    在Django中注册新用户后自动创建配置文件时出现问题,错误显示此“ Manager”对象没有“创建”属性

  10. 10

    验证用户身份时出现问题:laravel 5.1

  11. 11

    Windows 7登录屏幕在配置文件出现问题后仅显示最后一个用户和“其他用户”图标

  12. 12

    我可以“重新加载” Apache2配置文件而不会出现问题吗?

  13. 13

    用户注册时自动创建配置文件(Laravel 5)

  14. 14

    Json解析用户配置文件提要中面临的问题

  15. 15

    在Laravel中创建JSON Feed时出现问题

  16. 16

    在R中读取JSON文件时出现问题

  17. 17

    在Ruby中读取大型JSON文件时出现问题

  18. 18

    从文件中读取日语字符时出现问题-C

  19. 19

    在Linux上的C中打开文件时出现问题

  20. 20

    在C#中读取Gzip文件时出现问题

  21. 21

    在Prolog中写入文件时出现问题

  22. 22

    在R中读取.rdb文件时出现问题

  23. 23

    在.sh文件中运行脚本时出现问题

  24. 24

    在Ubuntu 14.04中运行.mkv文件时出现问题

  25. 25

    扫描文件中的字符时出现问题

  26. 26

    在Ruby中读取大型JSON文件时出现问题

  27. 27

    删除用户时出现问题

  28. 28

    删除用户时出现问题

  29. 29

    删除用户时出现问题

热门标签

归档