有人可以一步一步告诉我如何在我的应用程序中创建功能类似按钮?解释它是如何工作的,所以我不必依赖你的代码,并且可以自己创建我自己的按钮。我希望有人会指导我,因为我不知道这个东西是如何工作的,我必须创建多少个数据库表,或者我应该使用javascript。我的应用程序可以显示数据库中的所有帖子,这是我的代码到目前为止。
来自我的控制器:
public function dashboard()
{
$mytime = Carbon\Carbon::now();
$user = Auth::user();
$posts = Post::where('reviewed', '=' , 1)->orderBy('created_at', 'DESC');
$url = asset('img/logo.gif');
$this->layout->content = View::make('interface.dashboard',
array('posts' => $posts->paginate(9)))
->with('img', $url)
->with('user', $user)
->with('date', $mytime);
}
和我的观点:
<div class="dashboard">
@foreach (array_chunk($posts->getCollection()->all(),4) as $row)
<div class="row">
@foreach($row as $post)
<article class="col-md-4 effect4" class="dash-box">
<p></p>
<div><img src="{{ asset('img/' . $post->image) }}" /></div>
<b><a href="{{ URL::action('LoginUsersController@viewPost' , array('id' => $post->id))}}">{{$post->title}}</a></b>
<hr>
<d>{{$post->created_at->toFormattedDateString()}}</d>
</article>
@endforeach
</div>
@endforeach
<div class="page">
{{$posts->appends(Request::only('difficulty'))->links()}}
</div>
</div>
答案 0 :(得分:0)
您没有指定是否应该为用户或帖子,我猜它是为帖子。在以太网情况下,您不应该创建新表,因为您可以添加&#34; number_of_like&#34;列到你的帖子表。
然后在@foreach中创建一个like按钮($ row为$ post),它看起来像这样:
{{ Form::open(['method' => 'POST', 'route' => [ 'post_path', $post->id ] ) }}
<button type="submit" >Like</button>
{{ Form::close() }}
上面你将post id发布到post_path,然后在routes.php中定义:
Route::post('post/{id}', [
'as' => 'post_path',
'uses' => 'PostController@update'
]);
现在在你的PostController中,你将收到id作为更新方法参数,并可以用它来查找帖子并更新number_of_likes:
public function update($id)
{
$post = Post::findOrFail($id);
$post->number_of_likes++;
$post->save();
return Redirect::back();
}
当创建一个应该来自PostController @ create的帖子时,你应该将number_of_likes初始化为零。
最后要显示有多少喜欢帖子,只需在按钮前添加:
{{$post->number_of_likes}} <button type="submit" >Like</button>
请注意,整个过程可以通过多种方式完成,但这是实现此目的的一种基本方法。当你开始工作时,你可以尝试使用一些javascript来改进它。