Форма включает опцию выбора для этнической принадлежности:
Ethnicity: <select id="household_members_0_ethnicity" name="household[members][0][ethnicity]" class="smallform">
<option value=""></option>
<option value="2">AfrAm</option>
<option value="3">Asian</option>
<option value="1" selected="selected">Cau</option>
<option value="6">HaPI</option>
<option value="4">Hisp</option>
<option value="5">NtvAm</option>
<option value="7">Oth</option>
<option value="8">Unk</option>
</select>
Функциональный тест содержит
$form["household[members][0][ethnicity]"]->select(6);
и возвращается
InvalidArgumentException: вход «домохозяйство [члены] [0] [этническая принадлежность]» не может принимать «6» в качестве значения (возможные значения:).
Обратите внимание, что возможные значения пустые. Я пробовал тестировать с select("6")
а также select("HaPI")
и комбинации других опций, все безрезультатно.
Fwiw, есть аналогичный выбор для пола и $form["household[members][0][sex]"]->select('Male');
НЕ выдает исключение.
Я также пытался войти $form()
значения в виде массива без изменений в результатах.
Единственная разница между полами и полами этнической принадлежности заключается в том, что пол является явным полем выбора, а этническая принадлежность — полем сущности.
$form["household[members][0][ethnicity]"]->availableOptionValues();
возвращает пустой массив;
$form["household[members][0][sex]"]->availableOptionValues();
возвращает массив значений и опций;
InvalidArgumentException: вход «домохозяйство [члены] [0] [этническая принадлежность]» не может принимать «6» в качестве значения (возможные значения:).
Сообщение об ошибке должно отображать список возможных значений, а не (возможные значения:). Вы должны проверить это в test
окружении, это поле заполняется записями ethnicity
юридическое лицо. Согласно вашему комментарию вы используете базу данных SQLite, поэтому вы должны проверить, что ваши данные вставляют некоторые данные для ethnicity
юридическое лицо.
Других решений пока нет …