yiisoft/data которые затронули yiisoft/data-db
2. В yiisoft/data-db меня опередили, поправили под крайние изменения и добавили метод abstract protected function createItem(array $row): array|object; Ок - нормальная тема для создания DTO
3. Тут-же возникла проблема в случае если в ридер кидать ActiveQueryInterface т.к. у него метод all() возращает массив ActiveRecordInterface если не использвать asArray
4. Пообщавшись с @predvoditelev - вроде как ActiveQueryInterface нарушает задуманное, т.к. все методы вроде one, all и т.д. должны возвращать массив или массив массивов
И вот тут несоглашусь. Ведь сам PDO может возвращать stdClass или другой объект в качестве выборки + вроде есть возможность создавать свои db-драйвера. Может есть смысл добавить возвращаемый тип у этих методов как array|object и их вариации-массивы?
Обсуждение вернулось к union type для метода array|object у ActiveQuery::one (см onePopulate) @terabytesoftw - прочитай, это отличный аргумент (с stdClass)
one(), and onePopulate() should solve the problem, the gridview accepts arrays and objects, the problem is in data-db :)
Обсуждают сегодня