2013-07-08 47 views
-1

Laravel在從數據庫獲取記錄時遇到問題。Laravel無法獲取超過8000條記錄

laravel get()無法取得8000記錄。我正在使用$this->query->get();。我已經在$this->query上設置了一些過濾器,所以我只想爲這一個陳述解決方案。另外,我已經嘗試採取()方法,但沒有得到解決方案。

+0

沒有冒犯,但爲什麼你需要一次拿/顯示8000行?在這種情況下,是否無法在數據庫服務器上處理這些行數?只需提供更多信息,以便我們可以幫助您解決此問題。 – Andreyco

+1

其實我想獲得所有80000用戶的電子郵件ID和一些信息,以便我可以設置一個程序,在一次執行郵件的所有用戶。 – user1369111

+0

大多數郵件實施方式都限制您可以在一封電子郵件中收到多少個收件人。 80000大概是超過這個限制:-D –

回答

3

考慮到上述意見/關注點,我建議您(可能通過Cron作業)每次抓取1000次,然後將您的電子郵件分成批次。

因此,您首先要獲取1000條記錄。從這些,你會發送100電子郵件每十分鐘,根據Andreyco的建議。然後,您需要等待另外10分鐘,然後爲接下來的1000條記錄重複此過程,直到過程完成。

但是,我強烈建議使用High Volume Mailchimp account。這是首選方法,對您的電子郵件帳戶/域更安全。請致電this answer瞭解更多信息。

必須注意的是,每個服務器都有自己的內存限制,並且一次處理多條記錄是不正常的。