【问题标题】:Laravel get all data from database and put it into a chartLaravel 从数据库中获取所有数据并将其放入图表中
【发布时间】:2015-07-10 12:22:36
【问题描述】:

我正在使用 Laravel 4 构建一个应用程序。

现在,我确实以“独特”的方式计算所有访问者。因此,如果当天已经有访问,系统会进行检查,如果是,它只会计算数据库中的一次点击。

我的数据库结构是什么样的:

我希望系统计算 X 月 X 日的访问者(即 IP 地址)。就像 30/04/2015 的访问者在我的表 2015-04-30 中一样。我想计算当天和一个月其他日子的所有 IP 地址。但是当月结束时,它需要获取下个月的值,所以我想要当月的值。

hits 只是为了计算我网站上的“点击次数”,因此无需提及。

date 和 visit_date 为我提供当前访问日期,visit_time 为我提供访问时间。

我当前的代码看起来像这样显示值:

public function index()
{

    $select_stats = DB::table('visitor')->whereBetween('visit_date', array(date('Y-m-01'), date('Y-m-t')))->get();

    $month = date('m');

    $get_count = DB::select(DB::raw("SELECT count(*) FROM visitor WHERE MONTH(date) = $month GROUP BY DAY(date)"));


    foreach($select_stats as $statics) {

   //change our object to an array
   $statics = array();
    }


return View::make('admin.home.index')->with('stats', $select_stats)/*->with('count', $get_count)*/;

}

但是当我尝试使用计数显示此代码时,它不再起作用了。我的观点是这样的:

<script type="text/javascript">
    var visitors = [
@foreach($stats as $stat)
                ['{{ date("d/m/Y", strtotime($stat->date)) }}', 55],
@endforeach
            ];
</script>

所以我视图中的55 是作为输出计数的访问者。

有人可以尽快帮助我吗?

最诚挚的问候,

罗宾

【问题讨论】:

    标签: javascript php mysql laravel-4 charts


    【解决方案1】:

    我不是很了解,但有几件事可能会有所帮助... 1. 我真的建议考虑使用模型类而不是使用 DB 原始查询。这就是 Laravel 非常棒的地方。例如:

    $select_stats= Visitor::where('visit_date', '>=', Carbon::now()->startOfMonth())->get();
    $get_count = $select_stats->count();
    
    1. 我不会在脚本中执行 foreach,而是返回一个 json 数组。因此,您可以将“stats”变量发送到您的视图,而不是:

      with('stats', $select_stats->lists('visit_date'))

    然后在你必须使用的脚本中:

    {{ json_encode($stats) }}
    

    【讨论】:

    • 我不明白这个...你能解释一下吗?模型中必须存在什么?我的观点看起来比什么?我的控制器如何工作/看起来如何?
    • 我试图实现代码,我从一点点编辑得到的输出是这样的:var visitors = [{"21":"2015-05-01","51":"2015-05-01"}]; 问题是,时间需要显示为另一种格式,它需要是第一个时间,然后计数。我的控制器也是这样的:laravel.io/bin/RE6mX希望你能帮助我,让它计算每天的 IP 地址数。谢谢!
    • 循环也必须是这样的:['1/05/2015', 80] 所以日期和当天 IP 地址的计数。它需要循环,而不是数组中的所有内容。所以:['1/05/2015', 80], ['2/05/2015', 852] 等等...
    猜你喜欢
    • 2016-03-12
    • 2020-02-09
    • 2016-08-04
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多