Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день.
Столкнулся с проблемой, и что то не как не могу ее решить.
Есть класс Form, в нем есть метод tab:
/**
* Add tabs to form
*
* @param callable $tab
* @return $this
*/
public function tab(callable $tab)
{
$section = new Tab($this->model);
call_user_func($tab, $section);
$this->tabs[] = $section;
return $this;
}
И есть отдельный класс, в котором я добавляю форму и табы к ней:
$form->url('store')->method('post')->tab(function (Tab $tab) {
$tab->title('first tab')->fields(function(FormField $field) {
$field->input('text', 'test_input');
});
})->tab(function (Tab $tab) {
$tab->title('second tab')->fields(function(FormField $field) {
$field->input('number', 'price');
});
});
Если добавлять табы каждый раз используя функцию tab вот так ->tab(function (Tab $tab){})->tab(function (Tab $tab){})->tab(function (Tab $tab){})..., то табы добавляются как надо. Но я хочу не писать каждый раз эту функцию, а примерно так:
$form->url('store')->method('post')->tab(function (Tab $tab) {
$tab->title('first tab')->fields(function(FormField $field) {
$field->input('text', 'test_input');
});
$tab->title('second tab')->fields(function(FormField $field) {
$field->input('number', 'price');
});
$tab->title('third tab')->fields(function(FormField $field) {
$field->input('search', 'search_term');
});
});
Но так, в массив с табами добавляется только последний таб third tab. Как сделать что бы в массив с табами добавлялся новый обьект при каждом вызове
$tab->title('second tab')->fields(function(FormField $field) {
$field->input('number', 'price');
});
Изменено TrueKanonir (12.08.2018 12:04:59)
Не в сети
Страницы 1