【问题标题】:Autofill users informations in the database in Laravel在 Laravel 的数据库中自动填充用户信息
【发布时间】:2014-10-08 13:30:52
【问题描述】:

当客户在我们的网站上订阅时,我们希望在属于该用户的函数中在数据库中创建许多行。例如,一些示例帖子等,向他展示产品的工作原理。

它似乎与数据库种子 (http://laravel.com/docs/4.2/migrations#database-seeding) 的功能几乎相同,但它应该是针对用户的,而不是针对应用程序的。

处理这个问题的正确方法是什么?

【问题讨论】:

  • 当用户注册时,我会使用辅助函数将一些默认数据添加到数据库并将其链接到用户 ID。
  • 是的,播种就是您所需要的。定义should be for users

标签: php database laravel


【解决方案1】:

我将在处理持久数据模型的创建和修改的存储库类中处理这个问题。您可能只需向创建函数添加一个参数,该参数将在每次输入后填充种子数据。

<?php

class UsersRepository
{
    /**
     * Create
     *
     * @param array $data
     * @return User
     */
    public function create(array $data, $seed = false)
    {
        //$this->validate($data);
        //$data = $this->clean($data);
        $user = User::create($data);
        if ($seed)
            $user = $this->seed($user);
        return $user;
    }

     /**
     * Seed
     *
     * @param User $user
     * @return User
     */
    public function seed(array $user)
    {
        // Modify user to add required attributes
        $user->base_functions = 'some_base_function';
        return $user;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    相关资源
    最近更新 更多