Ну загадки для того, чтоб вы решили эту задачу сами. Решив ее вы во многом разберетесь. Если решит ее кто то за вас, то вы еще так долго будете "изучать" фреймворк.
по ссылке выше не уверен что это сработает.
в одном контроллере и даже действии можете сколько угодно совмещать ар и дао.
у меня была задача. нужно было выводить список участников клуба, их город, страну, интересы и достижения. каждая из сущностей была в отдельной таблице и связи были через релейшены. На 1 человека делалось в итоге примерно 6 запросов (город, страна, достижения, интересы, кол-во друзей, кол-во тех, кого этот человек мотивировал) в итоге на 100 человек это уже 600 запросов к бд.
были и другие АР запросы на странице.
В итоге, я сделал один запрос на ДАО, где одним запросом вытащил все данные через джойны и получил их одним массивом. и вместо 600+ запросов, осталось 15. которые к тому же еще и закешировать удалось
с АР вообще как то не очень получилось в YII. и кеширование какое то кривое, и транзакции
у вас сейчас первый робот. как что надо, он сразу бежит к базе и просит у нее один предмет.
теперь включаем голову и думаем.
как сделать так, чтоб ваш робот один раз сходил к базе и взял только нужные данные из нее и больше к ней не возвращался
давайте отвлечемся от дао и ар и представим.
есть робот, который когда что-то потребуется с полки, сразу бежит к ней, и берет от туда предмет.
есть другой робот, когда первый раз что то понадобилось, он пришел к полке и сразу все взял с нее.
alekskondr: нет. я местами дао вставляю и как то с 300 запросов к бд снизил до 15ти.
если правильно использовать и то и другое будет очень даже не плохо