【问题标题】:Sending route parameter in form在表单中发送路由参数
【发布时间】:2017-01-02 07:41:14
【问题描述】:

我正在尝试创建表单(定义如下:link)但我不知道语法中的$user->id 是什么

echo Form::open(array('route' => array('route.name', $user->id)))

当我使用它时出现错误:

Undefined variable: user (View: ...)

谁能解释一下?

【问题讨论】:

  • 您在表单中使用 $user->id,要以这种方式使用,您需要从控制器传递 $user 变量,或者您需要使用 Auth::user()->id那个。您的 $user 未在此视图中定义,因为您没有将数据从控制器作为 $user 传递到此表单视图。
  • 你能解释一下你想从哪条路线上打电话吗?您是否将用户传递给视图?
  • 第一。从控制器内的数据库中获取用户,然后您可以像这样在控制器中的视图内发送用户:return view('your-view', compact('user'));
  • 感谢您的回答。现在我发现我的思维方式是错误的。要解决的问题在我的路线中:Route::post('page-edit/{slug}', 'PageController@postSavePage'); 因为我有错误:Missing required parameters for [Route: ] [URI: page-edit/{slug}]. (View: /var/www/html/CMS/resources/views/admin/pages/page-edit.blade.php) 那就是我尝试在表单中解决它。

标签: php laravel-5 blade


【解决方案1】:

您可能应该将您的用户传递给视图:

public function index()
{
    return view('your-view-name')->with('user', Auth::user());
}

【讨论】:

    猜你喜欢
    • 2017-06-19
    • 1970-01-01
    • 2017-01-14
    • 2018-11-24
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    相关资源
    最近更新 更多