Есть таблица в БД
CREATE TABLE IF NOT EXISTS `pages` (
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`seo_keywords` varchar(255) NOT NULL,
`seo_description` varchar(255) NOT NULL,
`text` text NOT NULL,
`slug` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
INSERT INTO `pages` (`id`, `title`, `seo_keywords`, `seo_description`, `text`, `slug`) VALUES
(1, 'О магазине', 'ключевые_слова', 'описание', 'текст_страницы', 'about'),
(2, 'Оплата и доставка', 'ключевые_слова', 'описание', 'текст_страницы', 'buy_delivery'),
(3, 'Покупка в кредит', 'ключевые_слова', 'описание', 'текст_страницы', 'buy_credit'),
(4, 'Контакты', 'ключевые_слова', 'описание', 'текст_страницы', 'contacts');
Необходимо в layout вывести
меню
исходя из данных этой таблице
title - будет название меню
ссылка на страницу формируется - /page/ данные_из_поля_slug
на чистом SQL делал бы запрос
SELECT `title`, `slug`
FROM pages
Имеет смысл для моей задачи использовать ActiveRecord?
1) ActiveRecord
вернет все поля таблицы pages
$pages = Pages::find()
->asArray()
->all();
как в ActiveRecord выбрать только нужные поля?
title, slug
2)
Есть еще такой вариант
$sql = 'SELECT `title`, `slug` FROM `pages`';
$pages = Yii::$app->db->createCommand($sql)->queryAll();
3)
Есть еще такой вариант
$pages = (new Query())
->from('pages')
->all();