ITwoolf, ну почти.
Опять же у Вас проблемы с именованием переменных.
Вы используете $model для разных моделей, для UploadForm и Kniga1. Это вносит пунаницу.
Не логичней ли было сделать так?
$upload = new UploadForm();
$book = new Kniga1();
Теперь дальше.
У Вас настроен внешний ключ между Kniga1 и Avtor1? Вот в этом проблема.
ITwoolf, что-то я не понял, что Вы хотите добиться этим? $model = Avtor1::find()->where("name")= $row [4];
Тем более, что запрос написан неверно, с ошибкой.
OnYourLips, *-local.php и два index.php всё равно в gitignore находятся, по умолчанию. Поэтому руками.
Зачем init на рабочем сервере?
Так же директория vendor, она никуда не передаётся, на рабочем через composer восстанавливается.
Прям как про танки или самолёты...
Локальные конфигурационные файлы руками перемещаете. init выполнять не надо. На рабочем сервере сделайте composer update
Так же руками поменяете с dev на prod в forntend/web/index.php и backend/web/index.php
Локальные конфиги и index.php занесите в gitignor
Поэтому необходимого автора может не быть в Вашей таблице.