将对象传递给视图时出错

时间:2014-12-29 00:56:03

标签: php laravel laravel-4

这是我的相关路线:

Route::get('user/{username}/edit', [
    'as'   => 'user.edit',
    'uses' => "UsersController@edit"
]);

和功能:

 public function edit($username)
    {
        $user = User::where('username', '=', $username)->first();
    // dd($user);
        return View::make('user.edit' . ['user' => $user]);
    }

因此,在另一个视图中,我单击一个按钮,其中包含以下代码:

{{ link_to('user/'.$user->username.'/edit', 'Edit', ['class' => 'btn btn-default']) }}

它会引导我找到正确的网址,但会从 show 方法中为此行引发Array to string conversion例外:return View::make('user.edit' . ['user' => $user]);。在我放弃对象的地方,就在这行代码之前,它是正确的,填充了值。

很奇怪,因为我有另一个方法具有完全相同的实现,但只返回另一个视图,它工作正常。

任何想法我为什么会收到此错误?

1 个答案:

答案 0 :(得分:1)

不应该是

return View::make('user.edit', ['user' => $user]);

而不是

return View::make('user.edit' . ['user' => $user]);

您应该传递数据数组,而不是将其连接到视图名称。连接强制进行数组到字符串的转换。