在Laravel 5中通过一条路线传递2个查询的结果

时间:2019-01-31 20:46:13

标签: laravel laravel-blade laravel-5.7

我正在尝试从所有用户那里获取帖子,以及仅来自当前用户的任务。所有这些都传递给具有单个功能和路线的单个页面。而是返回错误页面。

控制器

public function getDashboard()
{
    $user = Auth::user();
    $userId = $user->id;
    $posts = Post::orderBy('created_at', 'desc')->get();
    $tasks = Task::where('employee_id', $userId )->get();

    return view('dashboard', compact('posts', 'tasks'));
}

路线

Route::get('/dashboard', [
    'uses' => 'PostController@getDashboard',
    'as' => 'dashboard',
])->middleware('auth');

刀片/视图

<div>
    @foreach($tasks as $task)
        <p data-taskId="{{ $task->id }}">{{ $task->task_body }}</p>
    @endforeach
</div>

1 个答案:

答案 0 :(得分:1)

看起来很像语法问题,因为紧凑应该可以正常工作。在您的控制器中尝试以下操作:

return view('dashboard', compact('posts', 'tasks'));

然后,在您看来,请确保使用变量而不是类名,并且正如Karl Hill所说,它是在()而不是{{}}中使用的:

@foreach($posts as $post)
   {{$post->nameOrWhatever}}
@endforeach

@foreach($tasks as $task)
    {{$task->nameOrWhatever}}
@endforeach