2015-01-09 2 views
0

В моей форме Laravel У меня есть несколько полей, которые имеют имя, как так:Laravel Populating поля с именем поля массивов

имя = "MyField [0]"

Im и с помощью формы: : binging модели, чтобы заполнить поля формы для целей редактирования, которая отлично работает для всех полей с нормальными именами.

Но по какой-то причине поля с массивами имен заполняются. Я предоставляю данные, которые должны заполнять поля в виде массива, поэтому структура такая же, например.

array myfields = (
    '0' => 'hello', 
    '1' => 'world, 
    '2' => '!' 
) 

Форма полей имен

имени = "мышимоиПоль [0]"

имя = "мышимоиПоль [1]"

имя = "мышимоиПоль [2]"

В этом примере я ожидал бы, что ключи массива будут соответствовать и данные будут заполнены как таковые.

Не так ли, у вас есть идеи о том, как я об этом узнал?

Приветствия

+0

IIRC, Laravel использует присвоенные имена в контексте Form :: model() как атрибуты отношений - так, например, если у вас была модель с $ user-> first_name = 'John' и $ user-> company-> name = 'Ford', ваши имена элементов формы будут «first_name» и «company [name]». Вы добавили $ myFields к своей модели? – Laravelian

+0

Да, я могу видеть все данные, когда я использую точку останова на форме –

ответ

0

Я столкнулся с той же проблемой, и я не могу фигурный способ сделать это ни, что я оказался не поступаю так:

Я получаю массив значений, то я просто сделать Еогеасп в представлении

@foreach ($array as $element) 
    {{ Form::text('myfields[]', $element[]) }} 
@endforeach 

Я знаю, что это не является правильным решением или правильным, но это решается вопрос для меня, я надеюсь, что это для вас.

0

Laravel 5 здесь. Я нахожу разницу между 4 & 5, чтобы быть небольшим в определенных областях. Я надеюсь, что это полезно

Моего формат массив $ объект [х] [атрибут], объект $ [х] [otherattribute]

Я нашел этот вопрос быть значимым с редактированием форм с массивами и динамическими данными.

public function edit($object) 
    { 
     $object= $object->toArray(); 
     return view('editView', compact('object')); 
    } 

Мой маршрут отправки объекту

Route::bind('object', function($value, $route) { 
    $thing = App\Object::where('variable','=',$value)->get(); 
    return $thing; 
}); 

Примечание, я мог бы передать его как массив вместо контроллера. Но пока я полностью не проверю его поведение (хорошо до сих пор!), Я хочу быть в состоянии совать его палкой.

Как открыть свою форму

{!! Form::model(['object'=>$object], ['method' => 'PATCH', 'route' => ['thing.update,$owner->id], 'class'=>'form-horizontal']) !!} 

Входной пример текста:

{!! Form::text('object['.$idx.'][attribute]',null,array('class'=>'cloned_input form-control input-sm')) !!} 

Обратите внимание, что я в состоянии держать входное значение нуль, так что соответствует порядку

  1. Данные сессии
  2. Явный
  3. Модель

По крайней мере, я надеюсь, что так будет! Пока он работает, чтобы мои динамические формы оставались на одном шаблоне для каждой операции CRUD.

Смежные вопросы