我正试图在我的laravel网站上制作一个计数器。此计数器获取模型 Comments 中的所有注释,这些注释是从Carbon :: now()创建的,直到startofMonth()。所以我有我的控制器和功能计数器:
class CommentsController extends Controller
{
public function counter()
{
$new_comments=Comments::where('created_at', Carbon::now()->startofMonth())->get();
$counted->count($new_comments['created_at']);
return View::make('pages.dashboard')->with('new_comments', $counted);
}
}
我的刀片模板:
<div class="row">
<div class="col-xs-3">
<i class="fa fa-comments fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge">{{!!$new_comments!!}}</div>
<div>New Comments!</div>
</div>
即使在控制器中调用变量,我仍然会收到变量未定义的错误消息!在刀片模板中未调用变量时,仪表板页面可正常工作。
编辑:
如果忽略控制器并将以下内容添加到我的视图中,我已设法使其正常工作:
{{App\Comments::count()}}
这只显示表Comments中的总行数,但我会尝试将mySQL查询添加到其中。
我仍然不知道为什么它不能从控制器调用为变量。
答案 0 :(得分:0)
在您的刀片模板中,您正确调用它,但是!带来这样的问题{{!!$new_comments!!}}
它会说变量未定义。
没有!!尝试它,它对我有用。
答案 1 :(得分:0)
首先:你想要从月初到现在创建所有评论,你需要一个whereBetween查询,不等于。
第二:你调用一个未定义的变量$ count。我认为你需要删除
$counted->count($new_comments['created_at']);
并传递$ new_comments而不是$ count
return View::make('pages.dashboard')->with('new_comments', $new_comments);
并在视图中显示评论数
{{ $new_comments->count() }}
希望这能帮到你
答案 2 :(得分:0)
这是一个迟到的答案,但我相信您使用public class TestingSwitch {
public static void main(String args) {
int cnt = 1;
switch(cnt){
default:
System.out.println("Welcome");
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
}
}
函数错误地传递了您的变量。根据我使用Laravel的经验,->with()
使用数组语法将多个变量传递给视图。例如:
->with()
然后,在 return View::make('pages.dashboard')
->with(["new_comments" => $new_comments, "counted" => $counted]);
// Note the array usage, works with [] or array()
中,您可以调用dashboard.blade.php
或{{ $new_comments }}
来回显该值(一个忽略HTML标记,一个包含它。)
另一方面,尝试回显Eloquent集合的内容(即{!! $new_comments !!}
而不是Comment::get()
)可能无效。你应该循环结果并相应地回应:
Comment::first()
答案 3 :(得分:0)
这已经解决了。我在另一个(页面)控制器中调用返回视图:: make(仪表板)。这个控制器先例,因此没有出现这种观点。因此,在我的页面控制器中,我应用了以下内容:
public function dashboard()
{
$count = Comments::where('created_at', '>', Carbon::today())->count();
return View::make('pages.dashboard')->with('new_comments_count', $count);
}
然后我可以在我的视图中调用new_comments_count。 非常感谢你的帮助。