sankar
sankar

Reputation: 83

How to display textbox value dynamically which is get from database using laravel

I got value from database and then i need to set those value to textbox. I have created a controller file with the method name of edit look like below

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));
}

I have passed array of value as parameter to the view file.now i need to diaplay the value of name to textbox.how to do that in html page using laravel. My html page look like below

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>

can anyone tell me that what mistake i did.Thanks in advance

Upvotes: 0

Views: 4449

Answers (2)

Fuzzyma
Fuzzyma

Reputation: 8474

get() returns a collection (multiple rows) and not the model itself. You can use User::find($id) which gives you direct access to the model with the specified Id.

When not using eloquent just replace get() with first()

Upvotes: 0

lukasgeiter
lukasgeiter

Reputation: 152910

Just remove the curly brackets, you are already "inside" PHP code and don't need them:

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

Also you get a collection from your controller you probably want to do:

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

Or even:

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

Upvotes: 2

Related Questions