我现在遇到问题我无法在浏览页面中显示自己喜欢的内容。 这是我希望在我的视图刀片上显示的行(like_counter),但是一旦我调用它,我就得到未定义的变量like_counter。
public function getLikeCounter($post_id) {
$post = Post::find($post_id);
$number = null;
$like_counter = \DB::table('likes')->where('post_id', $post->id)->where('like',!$number)->count();
return View::make('layouts.viewvideo', ['like_counter' => $like_counter]);
}
查看:
<span class="badge">{{ $like_counter}}</span>
路线:
Route::get('/counter/{post_id}', [
'uses' => 'PostController@getLikeCounter',
'as' => 'counter'
]);
感谢您的帮助。
答案 0 :(得分:0)
试试这个
return View::make('layouts.viewvideo')->with('like_counter', $like_counter);
答案 1 :(得分:0)
Nvm ..通过直接添加到视图来修复它:
<span class="badge">{{ $post->likes->where('post_id', $post->id)->where('like', 1)->count() }}</span>
答案 2 :(得分:0)
试试这个:
return view('layouts.viewvideo',compact('like_counter'));
希望这会对你有所帮助。
答案 3 :(得分:0)
我认为问题在于您的代码 where子句:
$like_counter = \DB::table('likes')->where('post_id', $post->id)->where('like',!$number)->count();
Laravel 5.2
改变这个:
->where('like', '!=', $number)->count();
Diff:WHERE like
!= null
答案 4 :(得分:0)
一种更简单的方法是获取记录并对其进行计数
checkBirthday