如何在Controller的方法(Laravel)中更改布局

Bun*_*ert 1 php laravel laravel-4

我在Laravel中使用了多个布局,使用如下代码,它可以工作.

class UsersController extends BaseController {

    public $layout = 'layouts.default';

    ...
}
Run Code Online (Sandbox Code Playgroud)

但是现在我想在Method(In UsersController)中更改布局

public function myFunc(){

    //I want to change myFunc's layout to 'default2'

    $this->layout->content = View::make('user.myfunc');
}
Run Code Online (Sandbox Code Playgroud)

我能怎么做?因为我用的时候$this->layout = 'layouts.default2'

它总是让我回报 ErrorException: Attempt to assign property of non-object

Ale*_*ski 5

您可以在控制器方法中使用它:

public function myFunc(){
    $this->layout = View::make('layouts.default2');
    $this->layout->content = View::make('user.myfunc');
}
Run Code Online (Sandbox Code Playgroud)