[英]Loop through array and MySQL query for each element - Laravel
我有一張帶有網站列表的表格。 另外,我還有一張表格,其中包含有關訪問和轉化的信息。 在此表中,每個網站每天都有一行,其中包含訪問次數和轉化次數。 因此,我知道哪個網站每天有多少訪問和轉化。
現在,我想在表格中列出所有網站,以及過去30天內該網站的訪問次數和轉化次數之和。
所以我要做的是將所有網站加載到一個數組中:
$websites = Website::all();
然后循環遍歷此數組以獲取其他數據:
$ complete_list = array();
foreach ($websites as $website) {
$clicks = Stats::where(DATE INSIDE DATE RANGE)->where('website_id', '=', $website->id)->sum('visits');
$complete_list[] = array(
'website' => $website->id,
'click'=> $clicks
};
}
轉換也一樣。
這可行,但似乎不是做到這一點的最佳方法...
有沒有人有關於如何簡化的想法?
您是否考慮過使用“急切加載”? http://laravel.com/docs/4.2/eloquent#eager-loading
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.