2013-10-08 72 views
0

我的Laravel 4項目中有一個cron任務,它從API獲取數據並使用Eloquent將其存儲到數據庫。我需要它爲存儲在我的用戶表中的每個用戶執行此操作。我想我可以迭代每個用戶,獲取數據和$this->save()它在我的模型中。只有最後一條記錄被添加。Laravel 4 Eloquent數據庫保存在foreach循環

我做了一個簡單的測試:

$this->user_id = 23; 
$this->save(); 
$this->user_id = 43; 
$this->save(); 

,仍然被添加只有最後一個條目。很明顯,我沒有正確使用雄辯或其他東西。我不應該使用雄辯嗎?

回答

2

您只是更新模型($ this)循環的每次運行,因此只顯示最後一個值。

你應該每次而是創建一個記錄:

Model::create([ 
    "user_id" => 23 
]); 

其中型號爲你的口才模型。

+0

有趣;技術上文檔確實指定在保存之前創建新模型。我想'$ this-> key'會被每次迭代覆蓋,所以我不必創建一個新的模型實例。謝謝! –