我在从控制器获取数据到blade.php 文件时遇到问题,它们给出了未定义变量的错误。
DalyTaskPlanController.php
public function dailyTaskPlan()
{
$plans = $this->plans = DailyTaskPlan::select(
'projects.project_name',
'daily_task_plans.*',
'tasks.heading',
'users.id')
->leftJoin('projects', 'daily_task_plans.project_id', '=', 'projects.id')
->leftJoin('tasks', 'daily_task_plans.task_id', '=', 'tasks.id')
->join('users','daily_task_plans.user_id', '=','users.id')
->take(4)
->get();
return view('dailytaskplan::dashboard', compact('plans'));
}
在视图文件中,他们给出错误未定义变量
@foreach ($plans as $plan)
<tr>
<td class="pl-25">{{ $plan->project_name }}</td>
<td class="pl-25">{{ $plan->heading }}</td>
<td class="pl-25">{{ $plan->date }}</td>
<td class="pl-25">{{ $plan->estimate_hours }} hrs {{ $plan->estimate_minutes }} mins</td>
<td class="pl-25">{{ $plan->memo }}</td>
</tr>
@endforeach
我尝试制作特征文件夹,并为其他路由中的模块提供另一条路由,它们工作正常。
我对 Laravel Blade 不太熟悉,但我可以猜测一下:
compact
将从数组创建变量。
因此,您的控制器实际上返回的是 $plans
、$project_name
、$heading
等,而不是您预期的 $date
变量。
因此,您可以访问模板中的各个变量,也可以删除 compact
并仅返回结果。即。
return view('dailytaskplan::dashboard', $plans);