Ich benutze Laravel 5.3 und die gleiche Blade-Ansicht, um ein Casa (Haus in Portugiesisch) und Contato (Kontakt in Portugiesisch) zu erstellen/bearbeiten.Laravel - Felder von verschachtelten Eingängen nicht empfangen
Ich habe ein Formular in 2 Tabellen einzureichen (contatos
casas
). Es funktionierte gut, bis ich die name
der ersten 6 Felder änderte (Tabelle contatos
).
Es war:
{!! Form::text('nome_contato') !!}
Nun ist es:
{!! Form::text('contato[nome_contato]') !!}
ich es zu tun hatte, denn der erste war nicht die Eingabe bevölkern sie zu bearbeiten. Aber jetzt sagt es mir, dass diese Felder leer sind, auch wenn sie es nicht sind.
CasaRequest.php ↓↓
public function rules()
{
return [
'nome_contato' => 'required|max:255',
'telefone' => 'required|numeric|digits_between:10,11',
'celular1' => 'required|numeric|digits_between:10,11',
'celular2' => 'numeric|digits_between:10,11',
'celular3' => 'numeric|digits_between:10,11',
'skype' => 'max:255',
'nome' => 'required|max:100',
'descricao' => 'required|min:50|max:2000',
'endereco' => 'required|max:255',
'numero' => 'numeric|min:0',
'bairro' => 'required|max:100',
(etc........)
];
}
creteedit.blade.php ↓↓
@if(isset($casa))
{!! Form::model($casa, ['route' => ['casas.update', $casa->id], 'method' => 'put', 'class' => 'register']) !!}
@else
{!! Form::open(['route' => 'casas.store', 'class' => 'register']) !!}
@endif
<!-- First step Contatos -->
<div class="row">
<div class="form-group row">
<div class="col l2 offset-l1">
Nome para contato
</div>
<div class="col l8">
{!! Form::text('contato[nome_contato]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('nome_contato')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
Telefone
<div class="col l8">
{!! Form::text('contato[telefone]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('telefone')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
Celular 1
<div class="col l8">
{!! Form::text('contato[celular1]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('celular1')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
Celular 2
</div>
<div class="col l8">
{!! Form::text('contato[celular2]') !!}
<span class="red-text text-lighten-1">{!!$errors->first('celular2')!!}</span>
</div>
<!-- Here comes more fields from the table `contatos` -->
<!-- Second step Casas -->
<div class="form-group row">
<div class="col l2 offset-l1">
<label class="right">Nome<span class="red-text">*</span></label>
</div>
<div class="col l8">
{!! Form::text('nome') !!}
<span class="red-text text-lighten-1">{!!$errors->first('nome')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
<label class="right">Descrição<span class="red-text">*</span></label>
</div>
<div class="col l8">
{!! Form::textarea('descricao') !!}
<span class="red-text text-lighten-1">{!!$errors->first('descricao')!!}</span>
</div>
</div>
<div class="form-group row">
<div class="col l2 offset-l1">
<label class="right">Endereço <span class="red-text">*</span></label>
</div>
<div class="col l5">
{!! Form::text('endereco') !!}
<span class="red-text text-lighten-1">{!!$errors->first('endereco')!!}</span>
</div>
<div class="col l1 offset-l1 ">
<label class="right">Número</label>
</div>
<div class="col l1">
{!! Form::text('numero') !!}
<span class="red-text text-lighten-1">{!!$errors->first('numero')!!}</span>
</div>
</div>
Die Felder von der zweiten Stufe arbeiten, nur aus der ersten Stufe sind nicht wegen ihrer name
: contato[field_name]
.
Vielen Dank, ich wusste nicht, dass. Ich wollte nur hinzufügen, dass ich die Zeile geändert habe, die auch Fehler anzeigt '{!! $ errors-> first ('contato.nome_contato') !!}' – GabrielFiel
Gern geschehen;) – OuailB
Gibt es eine Möglichkeit, alle Eingaben anzufordern ohne das Feld anzugeben? Wie: '$ dataForm = $ request-> all();' Aber ich brauche auch die verschachtelten Eingaben. Vielen Dank – GabrielFiel