【发布时间】:2015-01-08 05:22:54
【问题描述】:
我正在我的 laravel 学校项目中实施投票系统,它将是一个在线学校平台,学生可以上传项目,其他学生可以对已发布的内容进行投票。
不知何故,我所做的事情不起作用......这是我到目前为止的代码,希望有人可以帮助我,也许可以帮助我了解如何显示项目的投票数。
这是我的数据库迁移:
Schema::create('votes', function($table){
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->integer('project_id')->unsigned();
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('project_id')->references('id')->on('projects');
});
我的模特:
Class Vote extends Eloquent{
public function user(){
return $this->belongsTo('User');
}
public function project(){
return $this->belongsTo('Project');
}
}
我的看法:
@foreach ($projects as $project)
<li class="medium-4 columns">
<div class="canvas-medium">
<img src="{{ $project->image }}">
</div>
<p class="title">{{ $project->name }}</p>
<p class="owner">By
<a href="profile/{{ $project->user_id }}">{{ $project->user->firstname }} {{ $project->user->name }}</a>
<a href="/vote/{{ $project->id }}">Vote</a>
</p>
</li>
@endforeach
我的控制器:
class VoteController extends BaseController{
public function vote($id){
$vote = new Vote;
$vote->user_id = Auth::id();
$vote->project_id = $id;
$vote->Save();
return Redirect::to('/projects');
}
}
Routes.php:
Route::get('/projects', 'ProjectController@showall');
Route::get('/projects/vote/{id}', 'VoteController@vote');
【问题讨论】:
-
“不知怎的,我所做的事情不起作用......” 好的,究竟是什么不起作用?你有任何错误吗?让我们得到一些细节!
-
当我点击投票链接时,它会将我带到 /vote/1 for ex。并显示错误“Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException”