在Laravel中,我试图将参数从控制器传递到刀片但运气不佳。
route.php
Route::group(array('before' => 'auth'), function(){
Route::resource('courses','CourseController');
});
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));
}
}
Course.php
class Course extends Eloquent
{
protected $table = 'course';
public function events(){
return $this->has_many('Event');
}
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之外,我似乎无法从控制器传递任何其他变量,实际上我对控制器所做的任何更改似乎都没有对输出产生任何影响一点都没有!即使我回来了#34;你好&#34 ;;
我刚刚清空了整个CourseController.php,但是页面即/课程表现得一无所获!
(是的,它是正确的控制器,因为我甚至更改了名称以检查然后丢错)
是否有一些缓存或我需要清除的东西?
帮助表示赞赏。
由于
答案 0 :(得分:0)
Laravel(或MAMP服务器?)似乎在内存中依赖于旧版本的控制器,没有任何警告或一致性,如果您没有意识到这一点,这可能会让您发疯。
我复制了控制器并保存为controller1,然后重新路由到这个,heyho它显示了我做的最新更改,非常奇怪和烦人!
所以要注意机器中的鬼魂。
现在我可以回到Laravel的其他问题了。我无疑会回来。
答案 1 :(得分:0)
对于像这样的未来案例,只需使用php artisan dump-autoload
这很可能是自动加载类的问题。