Php 如何在Laravel 4中跟踪用户的下载?
我想跟踪用户在我的web应用程序上的下载,所以我决定创建一个名为downloads的表。我已经在模型中指定了关系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
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();
}