【问题标题】:Laravel issue with controller and variables控制器和变量的 Laravel 问题
【发布时间】:2014-04-26 00:55:16
【问题描述】:

在 Laravel 中,我试图将参数从控制器传递到刀片,但运气不佳。

路由.php

Route::group(array('before' => 'auth'), function(){

    Route::resource('courses','CourseController');

});

课程管理员

use Illuminate\Support\MessageBag;
 class CourseController extends AdminController {
       public function show($id)
        {
    //
       $course=Course::find($id);

       $events = Course::find($id)->events;

       $this->layout->content= View::make('courses.show')->with(array('course'=>$course,'events'=>$events));

       }
   }

课程.php

    class Course extends Eloquent
    {
       protected $table = 'course';
        public function events(){
   return $this->has_many('Event');
   }

事件.php

  class Event extends Eloquent
 {
   protected $table = 'event';
   public function course(){
        return $this->belongs_to('Course');
   }
}

问题是这样的:

        Undefined variable: events (View: .............show.blade.php)

除了 $course 之外,我似乎无法从控制器传递任何其他变量,事实上,我对控制器所做的任何更改现在似乎对输出都没有任何影响!即使我返回“你好”;

我刚刚清空了整个 CourseController.php,但页面(即 /courses)的行为就像什么都没发生一样!

(是的,它是正确的控制器,因为我什至将名称更改为检查然后抛出错误)

是否有一些缓存或我需要清除的东西?

帮助表示赞赏。

谢谢

【问题讨论】:

    标签: parameters laravel controller routing


    【解决方案1】:

    似乎 Laravel(或 MAMP 服务器?)在内存中依赖旧版本的控制器,没有任何警告或一致性,如果您没有意识到,这可能会让您在进行更改时发疯。

    我复制了控制器并保存为controller1,然后重新路由到这个,嘿嘿,它显示了我所做的最新更改,非常奇怪和烦人!

    所以要注意机器中的这个幽灵。

    现在我可以回到 Laravel 的其他问题了。我肯定会回来的。

    【讨论】:

      【解决方案2】:

      对于像这样的未来案例,只需使用php artisan dump-autoload

      这很可能是自动加载的类的问题。

      【讨论】:

      • 我仍然有这个问题。当我将 CourseController4 保存为 CourseController 和路由等时,问题仍然存在......即使在转储自动加载之后,它也会给出不同的错误,就好像不同的文件一样。
      • 你可能也想尝试运行“php artisan cache:clear”
      猜你喜欢
      • 1970-01-01
      • 2014-06-20
      • 2019-03-30
      • 2022-01-04
      • 2015-12-05
      • 2017-02-25
      • 2021-10-24
      • 2014-04-18
      • 2015-01-01
      相关资源
      最近更新 更多