如何将 laravel 模块路由与项目路由合并,因为当我使用模块路由时,它们会覆盖项目路由

问题描述 投票:0回答:1

我在从控制器获取数据到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

我尝试制作特征文件夹,并为其他路由中的模块提供另一条路由,它们工作正常。

php laravel laravel-8 laravel-blade laravel-10
1个回答
0
投票

我对 Laravel Blade 不太熟悉,但我可以猜测一下:

compact
将从数组创建变量。 因此,您的控制器实际上返回的是
$plans
$project_name
$heading
等,而不是您预期的
$date
变量。

因此,您可以访问模板中的各个变量,也可以删除

compact

 并仅返回结果。

即。

return view('dailytaskplan::dashboard', $plans);
    
© www.soinside.com 2019 - 2024. All rights reserved.