Laravel缓存视图错误不允许序列化'Closure'

crz*_*crz 1 php view laravel blade laravel-4

我正在制作一个漂亮的Web应用程序,并在尝试使用命令缓存视图时出错:

$view = View::make('templates.view1', array(
                'a' => $a,
                'b' => $b
        ));

Cache::put($key, $view, 30);
Run Code Online (Sandbox Code Playgroud)

它抛出

不允许序列化'闭包'

在我脸上 我尝试过记住方法但没有成功.

Cache::remember($key, 30, function($a, $b){
            return View::make('templates.view1', array(
                'a' => $a,
                'b' => $b
            ));
        });
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Mar*_*łek 6

你需要使用render()方法:

$view = View::make('templates.view1', array(
                'a' => $a,
                'b' => $b
        ))->render();
Run Code Online (Sandbox Code Playgroud)

将此视图转换为字符串.否则你使用Illuminate\View\View对象