Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel 4中跟踪用户的下载?_Php_Laravel_Laravel 4_Model_Controller - Fatal编程技术网

Php 如何在Laravel 4中跟踪用户的下载?

Php 如何在Laravel 4中跟踪用户的下载?,php,laravel,laravel-4,model,controller,Php,Laravel,Laravel 4,Model,Controller,我想跟踪用户在我的web应用程序上的下载,所以我决定创建一个名为downloads的表。我已经在模型中指定了关系 Download.php <?php use Illuminate\Auth\UserTrait; use Illuminate\Auth\UserInterface; use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\Reminders\RemindableInterface; class

我想跟踪用户在我的web应用程序上的下载,所以我决定创建一个名为downloads的表。我已经在模型中指定了关系

Download.php

<?php

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class Download extends Eloquent {


    protected $table = 'downloads';


    // Relations
    public function user(){return $this->belongsTo('User','user_id');}
    public function catalog_downloads(){return $this->hasMany('CatalogDownload'); }
    public function marketing_materials(){return $this->hasMany('Download'); }


}
我已经下载了

由于某些原因,尚未将任何数据保存到数据库中:(

有人能帮我看看这个吗

我刚刚添加了这段代码

if(Response::download()){

                $download = new Download;
                $download->title  = $catalog_download->title;
                $download->count  = $download->count + 1;
                $download->user_id = Auth::user()->id ;
                $download->save(); 

            }

其余的都是正确的。

在你的代码之前有一个
return
语句,它是不可访问的,在返回后你不能做任何事情…

我太傻了。谢谢。另外,我不想在下载完成之前做我的下载逻辑。此时我该怎么做?我希望得到一个建议。谢谢@JuniusI更改它在我的return语句的顶部,它仍然不起作用。:(我认为你不应该使用
if(Response::download())
语句(我从未使用过laravel,但在我看来这很奇怪)关于下载开始之前的下载逻辑,从服务器的角度来看,下载已经开始了…我正要问你下一个问题,你是对的。你怎么知道在服务器POV中,下载已经开始了。我尝试使用dd()调试我的代码;它甚至不起作用。现在,即使我注释掉我的
返回响应::下载($pathToFile);
,下载仍然有效。我现在很困惑。
if(Response::download()){

                $download = new Download;
                $download->title  = $catalog_download->title;
                $download->count  = $download->count + 1;
                $download->user_id = Auth::user()->id ;
                $download->save(); 

            }