I am trying to use form model binding (which i just learned about), but im following an example from laravel website and one from laracasts. So can someone please educate me?
My View:
{{ Form::model($transaction, array(
'method' => 'PATCH',
'route' => array('my.transactions.update', $transaction->id)
)) }}
<div class="form-group">
<label class="col-md-2 control-label" for="date"></label>
<div class="col-md-2">
<div class="input-group">
{{ Form::text('date', array('class'=>'form-control input-md', 'placeholder'=>'YYYY-MM-DD')); }}
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
{{Form::close() }}
My Controller:
public function edit($id)
{
$title = "Edit Transaction";
$transaction = Portfolio::find($this->portfolio_id)->transactions->find($id);
return View::make('Transactions/edit', compact('title', 'transaction'));
}
i dont know whats wrong but i keep getting this error.
htmlentities() expects parameter 1 to be string, array given (View: ../transactions/edit.blade.php)
The second option you put as '' can be filled in as Input::old('date') That way, when you pass old data back to the form let's say when the form isn't completed, the form fields that you specify with the Input::old will be "refilled" with the data they previously completed
{{ Form::text('date', Input::old('date'), $dateOptions) }}
$dateOptions will be your array with the placeholder, id, or any other html attributes you wish to supply.
Hope this helps, even after you figure it out Keenan :)
I figured it out. It ws actually completely different. But im not sure why...
Problem Line:
{{ Form::text('date', array('class'=>'form-control input-md', 'placeholder'=>'YYYY-MM-DD')); }}
Correction:
{{ Form::text('date', '', array('class'=>'form-control input-md', 'placeholder'=>'YYYY-MM-DD')); }}