учимся читать и понимать ошибки.
Too few arguments to function Modules\User1::__construct(), 0 passed and exactly 1 expected
в конструкторе
User1 ожидается 1 параметр, передано 0 параметров.
смотрим код - так и есть, конструктор принимает один параметр.
смотрим код дальше:
return $this->_db->run($sql, [$id])->fetchObject(__CLASS__);
создает инстанс
User1, но аргумент в конструктор то не передает. отсюда и ошибка.
поэтому передаем его явно:
return $this->_db->run($sql, [$id])->fetchObject(__CLASS__, [$this->_db]);
a вообще: чтение документации и логика - лучшие помощники в таких ситуациях.