У меня есть две таблицы.Я рендеринг полей двух таблиц (user
и user_education
).Один пользователь может иметь несколько записей (сведения об образовании).Чтобы редактировать информацию о пользователе, я могу получить только одну запись с конкретными сведениями user_education
.Как получить несколько записей таблицы user_education
для конкретного пользователя?Я отображаю поля из обеих таблиц на одной странице с именем editSuccess()
.
Я создал объект обеих форм, как показано ниже
foreach ($user->getUserEducations() as $edu)
{
$education = $edu;
break;
}
$this->form = new stFormProfile($user);
$this->form1 = new UserEducationForm($education);
В приведенном выше коде $education
isодна запись user_education
.Я должен передать массив user_education
объектов ($user->getUserEducations()
).Но он не примет массив объектов.
Я связываю значения, как показано ниже,
$this->form1->bind($request->getParameter('user_education'),
$request->getFiles('user_education'));
$this->form->bind($request->getParameter('profile'), $request->getFiles('profile'));
Я сохраняю обновленные значения, используя приведенный ниже код,
$this->form->save();
$this->form1->save();
Поля таблицы пользователя получаютобновлено.Но не для user_education
таблицы.Я получаю _csrf_token
[Обязательное.] ошибка.
И UserEducationForm.class.php
создается самой Symfony с использованием схемы базы данных, которую я дал изначально.В этой схеме я не указал никаких первичных ключей для таблицы user_education
.Поэтому Symfony сам создал столбец с именем id
с первичным ключом.Это как-то влияет?
Я отображаю эти поля, как показано ниже
print $form["username"]->renderLabel()
print $form["username"]->render()
print $form["email"]->renderLabel()
print $form["email"]->render()
print $form["firstname"]->renderLabel()
print $form["firstname"]->render()
print $form["lastname"]->renderLabel()
print $form["lastname"]->render()
print $form['skillset']->renderLabel()
print $form['skillset']->render()
print $form['years_of_experience']->renderLabel()
print $form['years_of_experience']->render()
Сведения об образовании
print $form1['college_name']->renderLabel()
print $form1['college_name']->render()
print $form1['coursename']->renderLabel()
print $form1['coursename']->render()
print $form1['percentage']->renderLabel()
Мне нужно отобразить несколько строк таблицы сведений об образовании (используя foreach).