2014-10-08 92 views
0

當客戶端在我們的網站上訂閱時,我們希望在屬於該用戶的函數中在數據庫中創建許多行。例如,一些示例帖子等,向他展示產品是如何工作的。在Laravel的數據庫中自動填充用戶信息

它似乎與數據庫播種(http://laravel.com/docs/4.2/migrations#database-seeding)幾乎相同的功能,但它應該用於用戶,而不是應用程序。

處理這個問題的正確方法是什麼?

+0

當用戶註冊時,我會使用幫助函數將一些默認數據添加到數據庫並將其鏈接到用戶ID。 – Jerodev 2014-10-08 13:59:12

+0

是的,播種是你需要的。定義'應該爲用戶'。 – 2014-10-08 14:03:20

回答

0

我會在處理永久數據模型的創建和修改的存儲庫類中處理這個問題。您可能只需將一個參數添加到您的創建函數中,該參數將在每次輸入後填充種子數據。

<?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; 
    } 
} 
相關問題