Laravel在视图中定义变量

时间:2017-10-10 21:01:15

标签: laravel laravel-5.4

我是laravel的新手。使用5.4版并试图搜索但不知道我做错了什么。我一直得到一个未定义的变量:post"在我看来。我也在做表单模型绑定。手动输入URL时,模型绑定正常工作。只是无法点击链接以显示编辑视图。

我的路线:

Route::get('test/{id}/edit','TestController@edit');

我的控制器:

public function edit($id)
{
    $post = Post::find($id);

    if(!$post)
        abort(404);
    return view('test/edit')->with('test', $post);
}

我的表格:

{{  Form::model($post, array('route' => array('test.update', $post->id), 'files' => true, 'method' => 'PUT')) }}

2 个答案:

答案 0 :(得分:3)

您已将帖子值分配给' test',因此应该可以$test而不是$post访问。

你可能想要做这两件事中的任何一件:

return view('test/edit')->with('post', $post);

return view('test/edit', ['post' => $post]);

https://laravel.com/docs/5.4/views

答案 1 :(得分:0)

您的控制器正在发送名为" test"的变量,但您的错误表明您的刀片文件没有传递$post变量。这可以通过改变" test"来解决。到"发布"在你的控制器中。