Zoy*_*rus 2 html php laravel laravel-5
我正在使用Laravel 5,我在Controller中使用了以下方法:
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$authUser = Auth::user();
$sharesList = Group::find($id)->shares->sortByDesc('created_at');
$groupList = $authUser->groupsAsMember->where('id', '<>', $id);
$group = $authUser->groups->find($id);
$postList = Group::find($id)->posted->sortByDesc('created_at');
$postsGroups = PostGroup::where('group_id', $id)->with('commented')->get();
//$commentsList;
foreach ($postsGroups as $postGroup) {
$commentsList = $postGroup->commented;
//dd($commentsList);
}
//dd($commentsList);
return view('Pages.Group.detail', ['sharesList' => $sharesList, 'groupList' => $groupList, 'theGroup' => $group, 'postList' => $postList, 'commentsList' => $commentsList]);
}
Run Code Online (Sandbox Code Playgroud)
问题在于$commentsList集合,如果我dd($commentsList)在@foreach中放入一个内部,我可以看到里面有我想要的元素,但是如果我把dd($commentsList)foreach 放在外面(在@endforeach之后)$ commentsList是空的并且它到达为空我的HTML页面,我该如何解决?我试图$commentsList;在@foreach循环之前放置但仍然无法正常工作.
编辑
您应该使用每个循环覆盖它,同时应添加新的数组元素.试试这个 :
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$authUser = Auth::user();
$sharesList = Group::find($id)->shares->sortByDesc('created_at');
$groupList = $authUser->groupsAsMember->where('id', '<>', $id);
$group = $authUser->groups->find($id);
$postList = Group::find($id)->posted->sortByDesc('created_at');
$commentsList = collect();
$postsGroups = PostGroup::where('group_id', $id)->with('commented')->get();
foreach ($postsGroups as $postGroup) {
foreach($postGroup->commented as $commentPost) {
$commentsList->push($commentPost);
}
}
//dd($commentsList);
return view('Pages.Group.detail', ['sharesList' => $sharesList, 'groupList' => $groupList, 'theGroup' => $group, 'postList' => $postList, 'commentsList' => $commentsList]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |