【问题标题】:Laravel 4 seed database table with relationshipLaravel 4种子数据库表与关系
【发布时间】:2014-01-26 00:58:29
【问题描述】:

通常我们创建一个这样的数据库种子文件来为数据库表做种子:

class UsersSeeder extends DatabaseSeeder {

    public function run()
    {
        $users = [
            [
              'email' => 'mymail@mail.com',
              'password' => Hash::make('123456'),
              'name' => 'Admin'
            ]
       ];

       foreach ($users as $user) {
         User::create($user);
       }
    }

}

但是我们怎样才能用关系播种表呢?例如,具有表成员详细信息的表用户:

用户表:

id, email, password, name

成员详情表:

id, userid, gender, address, dob

memberdetail 表的userid 列将显示id,它链接到users 表上的id。我们如何播种这 2 个表?

谢谢。

【问题讨论】:

  • memberdetail 表的型号是什么?分享关系。
  • Anam,我已经更新了问题以便更好地解释。

标签: php mysql database laravel-4


【解决方案1】:

假设您有一个名为MemberDetail 的模型。

    class UsersSeeder extends DatabaseSeeder {

        public function run()
        {
            $users = [
                [
                  'email' => 'mymail@mail.com',
                  'password' => Hash::make('123456'),
                  'name' => 'Admin'
                ]
           ];

           foreach ($users as $user) {
             $user = User::create($user);

             $memberDetail = new MemberDetail;
             $memberDetail->userid = $user->id;

             // Fill up gender, address, dob
             // i am not sure what data you have for gender, address and dob.
             $memberDetail->gender = 'Male';
             $memberDetail->address = 'Australia';
             $memberDetail->dob = '2014-01-08';
             $memberDetail->save();
           }
        }

}

【讨论】:

    猜你喜欢
    • 2013-06-27
    • 1970-01-01
    • 2021-01-09
    • 2013-01-17
    • 2013-01-25
    • 2019-08-31
    • 2020-10-03
    • 1970-01-01
    • 2018-11-10
    相关资源
    最近更新 更多