AlikDex: Это реализация достаточно популярного паттерна ActiveRecord. Не слыхали что-ли никогда? ORM, сущности.... Присутствуют подобные реализации во всех современных фреймворках. А в некоторых даже по несколько. https://ru.wikipedia.org/wiki/ActiveRecord
# Получаю новость по алиасу
$post = Post::findOne( [ 'alias' => 'first-post' ] );
# Получаю все комментарии к этому посту
$allComments = $post->postComments;
# Беру первый комментарий
$comment = $allComments[ 0 ];
# Получаю его автора
$user = $comment->author;
# Блокирую его
$user->is_blocked = 1;
$user->save();
Только нужно быть аккуратным при использовании ORM в циклах. Обязательно следите за количеством запросов. В сложных списках как правило оптимальнее будет получать данные одним сложным запросом.
$post = $postsRepository->findPostByAlias($alias);
$post->publish(); // сохранять ненадо ничего, за всем следит UnitOfWork
// по сути с таким подходом у нас нет разницы где хранятся объекты,
// и объекты ничего не знают о том как они хранятся, что идеологически более правильно нежели AR
$newPost = new Post($title, $body, $author);
// вместо записи в базу мы добавляем новый элемент в репозиторий
// скажем для тестов мы можем использовать in memory repository
$postsRepository->add($post);
// ...где-то в контроллере
$entityManager->flush() // сохраняет результат работы транзакции, вычисляет и коммитит изменения
В смысле "в виджеты не лезет"? Для вывода постов/комментариев он чаще всего не нужен, но есть ActiveDataProvider и GridView/ListView, который позволяет автоматизировать вывод необходимых записей
ActiveRecord нужен для реализации persistence layer, а виджеты это кастыль для достижения чего-то тип HMVC. В общем и целом AR должно всегда быть за сервисным слоем, или на крайняк на уровне инфраструктуры.
Не ну можно конечно забить и юзать в контроллерах как подавляющее большинство разработчиков на Yii.
AlikDex: ммм, в смысле "специфичная"? Это тип самый простой тип ORM который только можно придумать, лепим рядок из таблицы на объект, и можем его сохранять. Что может быть проще? Потому и фапают. А я вот не умею делать на AR не какаху... и не видел что бы умели. Только если использовать объекты AR как DTO между слоем бизнес логики и базой.