Если хотите писать говнокод и самостоятельно присваивать значения без валидации - можете не использовать rules().
Если хотите принимать значения массивом через ->attributes($post), но без валидации - надо перечислить разрешенные поля хотя бы одной строчкой rules().
Если хотите писать грамотный код - надо валидировать всё.
Параметр id может встречаться не более одного раза на странице, у вас в форме элементы с одинаковым id. Скорей всего скрипт просто обращается к первому найденному или выпадает в ошибку.
В ошибке написано же. Неизвестный индекс 'offset_file'.
Проверяйте массив $this->config на наличие элемента с таким ключом, прежде чем к нему обращаться.
foreach ($component->getDamages($car->id) as $damages) {
echo $damage->name;
}
у вас в единственном числе нужно, вы просто как всегда то, что нужно в единственном делаете в множественном, какой-то талант прямо :)
вот так нужно:
foreach ($component->getDamages($car->id) as $damage) {
UPD: Почему ваша IDE вам не подсвечивает ошибки?
UPD: Вижу у вас одна какая-то проблема. Вам крайне рекомендую просмотреть видео по связям в Yii2, очень толковое, я там даже менюшку набросал (в комментариях) https://www.youtube.com/watch?v=URlo4QjNNao
print_r не отображает false и null. Используйте var_dump.
upd: вернее в момент отображения print_r делает __toString для каждого элемента. А для false __toString возвращает пустую строку. Поэтому и не отображается.