我从数据库获得了价值,然后我需要将这些值设置为文本框。我创建了一个控制器文件,其方法名称为编辑,如下所示
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>
任何人都可以告诉我我做了什么错。提前谢谢
答案 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()