Laravel未定义变量

时间:2016-09-30 13:57:29

标签: laravel laravel-5 laravel-5.2

我现在遇到问题我无法在浏览页面中显示自己喜欢的内容。 这是我希望在我的视图刀片上显示的行(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'

]);

感谢您的帮助。

5 个答案:

答案 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