без успеха я пытаюсь получить 1 объект из массива в foreach laravel5.4

-1

Я хочу показать весь шаблон в моем db, но я получаю эту ошибку. Попытка получить свойство не-объекта. вот моя форма

<form method="POST" action="{{route('product_create')}}">
            {{csrf_field()}}
            <select class="form-control" name="template">
                @foreach($templates as $template =>$key)
                    <option value="{{$key->id}}" {{isset($key)&& $key->id == $$key->name ? 'selected' :'' }} ></option>
                @endforeach
            </select>
            <input class="btn btn-primary" type="submit" value="Product toevoegen">
        </form>

Если я dd $ template, я получаю этот массив

array:2 [▼
1 => "product"
2 => "test"
]

Вот контроллер

   if (isset($_POST['template']) && !empty($_POST['template'])){
        $propertyTemplate = PropertyTemplate::find($_POST['template']);
    }else{
        $propertyTemplate = PropertyTemplate::find(1);
    }

что я делаю неправильно здесь

  • 0
    Можете ли вы добавить код вашего контроллера, где вы передаете $templates ?
  • 0
    @ Марабок спасибо за ваш ответ. if (isset ($ _ POST ['template']) &&! empty ($ _ POST ['template'])) {$ propertyTemplate = PropertyTemplate :: find ($ _ POST ['template']); } else {$ propertyTemplate = PropertyTemplate :: find (1); }
Показать ещё 3 комментария
Теги:

1 ответ

0
 @foreach($templates as $key =>$template)
      <option value="{{$key}}">{{$template}}</option>
 @endforeach

Ещё вопросы

Сообщество Overcoder
Наверх
Меню