0
데이터베이스의 기존 항목을 편집하기위한 양식을 작성하는 중입니다. 이 작업을 수행하려면 Form :: Model 방식을 사용하고 있지만 작동하지 않는 것 같습니다. 필드는 그냥 비어 있습니다.Laravel 'Form :: model'이 (가) 내 편집 양식을 채우지 않습니다.
ServerController.php
/**
* Editing servers
*/
public function edit($name)
{
$server = Server::find($name);
$keywords = ($server->getKeywords()) ? $server->getKeywords() : array();
$countries = $this->getCountries();
return View::make('server/edit', array('server' => $server, 'countries' => $countries));
}
public function update($name)
{
$server = Server::find($name);
// Did it succeed?
if($server->save()) {
Session::flash('success', 'You server was edited!');
return Redirect::route('server.view', array($name));
}
// Did not validate
if(Input::get('keywords')) {
$keywords = Input::get('keywords');
Session::flash('keywords', $keywords);
}
Session::flash('danger', "<b>Oops! There were some problems processing your update</b><br/>" . implode("<br/>", $server->errors()->all()));
return Redirect::route('server.edit', array($name))->withInput()->withErrors($server->errors());
}
폼
{{ Form::model($server, array('route' => array('server.update', $server->name), 'class' => 'form-horizontal', 'role' => 'form', 'files' => true)) }}
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::label('email', 'Email', array('class' => 'control-label col-md-4')) }}
<div class="col-md-4">
{{ Form::text('email', '', array('class' => 'form-control')) }}
{{ $errors->first('email', '<br/><div class="alert alert-danger">:message</div>') }}
</div>
</div>
(some more fields)
{{ Form::close() }}
당신은'리턴 (위해서 var_dump ($ 서버)) 할 경우, '편집() 함수의 끝 (기존'return' 호출 전)에서이 서버를 반환하지 개체 또는 null? '$ name'은 ID 번호 또는 이름 문자열입니까? –
예, 전체 서버 객체를 반환합니다. $ name은 이름 문자열이지만 문제가되지 않도록 기본 키를 변경했습니다. 뷰에서 $ server 변수를 사용하여 내용을 읽을 수도 있습니다. – Moeflon