Kohana помогите создать запрос к бд QB

gads12q

Новичок
есть 2 таблицы (photos, photoscomments);
столбцы - photos ('id','photo') ,
photoscomments ('idcom','id','photoscomments');

CREATE TABLE IF NOT EXISTS `photos` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`photo` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

и

CREATE TABLE IF NOT EXISTS `photoscomments` (
`idcom` int(5) NOT NULL AUTO_INCREMENT,
`coments` text NOT NULL,
`id` int(5) NOT NULL,
PRIMARY KEY (`idcom`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;




id-связь между таблицами.


вопрос: как вытащить из таблицы photos 10 последних записей и при этом присоединить таблицу
photoscomments по ключам id=id и оттуда вытащить 5 последних photoscomments по каждой photos.id?
и всё про всё 1 или 2 запроса к бд???
Большое спасибо!
 

gads12q

Новичок
а как сделать 2 запроса?я так понимаю:
1 - вытаскиваем 10 последних записей из таблицы photos.(эт понятно).
2 - я не знаю как вытащить массив с 10 данными с лимитом каждый по 5 записей.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
gads12q, сейчас для тебя самый простой вариант - вытянуть фотографии, то есть те десять штук. Потом пройтись по ним циклом и вытянуть оттуда к каждой фотографии 5 комментов, поставив LIMIT 5 в запросе.

PS: Решение самое простое, не совсем грамотное с точки зрения некоторых тут присутствующих, это 146%, но для тебя оно самое верное.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Так, тред почистил, пусть пишет самое простое, грубить и умничать не надо.
 

gads12q

Новичок
момент! это мне как раз и не надо.мне надо так как я поставил задачу.моя задача решаемая хоть????
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
gads12q, все задачи решаемые, только с чего ты взял, что тебе надо именно 2 запроса?
 

Здыхлик

Kohaner
Команда форума
1й запрос - выдергиваем фотки, там все просто.
2й запрос - дергаем комменты: select * from photoscomments where id=1 order by idcom ASC limit 5 UNION select * from photoscomments where id=2 order by idcom ASC limit 5 UNION ... UNION select * from photoscomments where id=100 order by idcom ASC limit 5.

2 запроса, задача выполнена, проклятья последующих поколений разработчиков обеспечены.
 

gads12q

Новичок
1й запрос - выдергиваем фотки, там все просто.
2й запрос - дергаем комменты: select * from photoscomments where id=1 order by idcom ASC limit 5 UNION select * from photoscomments where id=2 order by idcom ASC limit 5 UNION ... UNION select * from photoscomments where id=100 order by idcom ASC limit 5.

2 запроса, задача выполнена, проклятья последующих поколений разработчиков обеспечены.
все работает хорошо когда у всех фото есть по 5 и более комментариев, НО ЕСЛИ МЕНЬШЕ, ТО ЗАПРОС РАБОТАЕТ НЕ ПРАВИЛЬНО.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
gads12q, то есть сделать по-простому, как предложил я тебе впадлу, а извращения творить - так пожалуйста?)
 

gads12q

Новичок
gads12q, то есть сделать по-простому, как предложил я тебе впадлу, а извращения творить - так пожалуйста?)
Я ВАМ ни чего плохого не говорил p.s.(звращения творить) где? или какой момент??. просто уточняю, а проста так я бы не задавал таких легких вопросов.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
gads12q, я лично ВАМ советовал сделать просто и наглядно, мои вопросы по поводу
только с чего ты взял, что тебе надо именно 2 запроса?
были проигнорированы. Если и дальше хочется стрелять себе в ногу - милости просим.
 

gads12q

Новичок
gads12q, я лично ВАМ советовал сделать просто и наглядно, мои вопросы по поводу

были проигнорированы. Если и дальше хочется стрелять себе в ногу - милости просим.
да тока что увидел. не устраивает много запросов в бд.
 
Сверху