循环遍历每个元素的数组和MySQL查询 - Laravel

时间:2014-10-13 19:40:14

标签: php mysql arrays laravel-4

我有一张包含网站列表的表格。我还有一张表格,其中包含有关访问和转化的信息。在此表中,我每个网站每天有一行,列访问次数和转化次数。所以我知道哪个网站每天都有多少次访问和转换。

现在,我想列出过去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
    }; 
}

转化也是如此。

这有效,但似乎不是最好的方法......

有没有人知道如何简化?

1 个答案:

答案 0 :(得分:1)

您是否考虑过使用预先加载? http://laravel.com/docs/4.2/eloquent#eager-loading