当客户订阅我们的网站时,我们希望在属于该用户的函数中在数据库中创建许多行。例如,一些示例帖子等,向他展示产品是如何工作的。
它似乎与数据库种子设定功能几乎相同(http://laravel.com/docs/4.2/migrations#database-种子),但它应该是针对用户的,而不是针对应用程序的。
正确的处理方法是什么?
我会在一个处理持久数据模型的创建和修改的存储库类中处理这个问题。您可以在创建函数中添加一个参数,该参数将在每次输入后填充种子数据。
<?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;
}
}