如何动态显示使用laravel从数据库获取的文本框值

时间:2015-01-20 08:55:17

标签: php mysql laravel blade

我从数据库获得了价值,然后我需要将这些值设置为文本框。我创建了一个控制器文件,其方法名称为编辑,如下所示

userdata.blade.php:

 public function edit($id)
{
        echo "You have clicked edit link".$name;
        $editdata = DB::table('newuser')->where('Id','=',$id)->get();
        return View::make('editdata',array('list' => $editdata));
}

我已将值数组作为参数传递给视图文件。现在我需要使用laravel将名称的值显示到textbox.how以在html页面中执行此操作。我的html页面如下所示

editdata.blade.php:

 <html>
   <head></head>
   <body>
     <div>
       {{Form::open(array('url' => 'login', 'method' => 'post'))}}
         {{Form::label('name','Name',array('id'=>'label-name'))}}
         {{Form::text('name',{{$list->Name}}}}
       {{ Form::close() }}
    </div>
    </body>
  </html>

任何人都可以告诉我我做了什么错。提前谢谢

2 个答案:

答案 0 :(得分:2)

只需删除大括号,您已经在“内部”PHP代码中并且不需要它们:

{{ Form::text('name',$list->Name) }}

您也可以从控制器中获得一个集合:

$editdata = DB::table('newuser')->where('Id','=',$id)->first();

甚至:

$editdata = DB::table('newuser')->find($id);

答案 1 :(得分:0)

get()返回一个集合(多行),而不是模型本身。您可以使用User::find($id),它可以直接访问具有指定ID的模型。

如果不使用eloquent,只需将get()替换为first()