/** * Test find() * * @covers Windwalker\DataMapper\RelationDataMapper::find * * @return void */ public function testFindGroup() { $mapper = RelationDataMapper::getInstance('category', 'ww_categories')->addTable('flower', 'ww_flower', 'flower.catid = category.id')->group('category.id'); $dataset = $mapper->find(array('flower.state' => 1), 'flower.title DESC'); $sql = <<<SQL SELECT `flower`.`id` AS `flower_id`, \t`flower`.`catid` AS `flower_catid`, \t`flower`.`title` AS `flower_title`, \t`flower`.`meaning` AS `flower_meaning`, \t`flower`.`ordering` AS `flower_ordering`, \t`flower`.`state` AS `flower_state`, \t`flower`.`params` AS `flower_params`, \t`category`.`id` AS `id`, \t`category`.`title` AS `title`, \t`category`.`ordering` AS `ordering`, \t`category`.`params` AS `params` FROM `ww_categories` AS `category` \tLEFT JOIN `ww_flower` AS `flower` ON flower.catid = category.id WHERE `flower`.`state` = 1 GROUP BY category.id ORDER BY flower.title DESC SQL; $this->assertEquals($dataset, $this->loadToDataset($sql)); }
/** * getNotifications * * @param string $type * @param int $targetId * * @return mixed|\Windwalker\Data\DataSet */ public static function getNotifications($type, $targetId) { return RelationDataMapper::getInstance('user', WarderTable::USERS)->addTable('notification', Table::NOTIFICATIONS, 'notification.user_id = user.id')->find(['notification.target_id' => $targetId, 'type' => $type]); }