Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Сколько строк вернул запрос при помощи ORM?
http://forum.kohanaframework.su/viewtopic.php?f=33&t=648
Страница 2 из 2

Автор:  Ke1eth [ 31 май 2013, 13:34 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

WinterSilence писал(а):
Ke1eth> в ORM получить данные через Database? а если pdo драйвер используется?))

http://kohanaframework.org/3.2/guide/ap ... last_query

Автор:  WinterSilence [ 31 май 2013, 16:04 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

косячу ) с pdo промахнулся немного, там проблемы с list_columns.
Ke1eth> наверное не совсем верно выразился:
1. не имеет смысла писать то, что уже реализовано
2. вы уверены что в данной переменной хранится любой последний запрос к базе, а не сделанный через созданный вами объект database? по логике там должен быть именно 2 вариант, надо будет посмотреть код

Автор:  Ke1eth [ 31 май 2013, 21:14 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

WinterSilence писал(а):
косячу ) с pdo промахнулся немного, там проблемы с list_columns.
Ke1eth> наверное не совсем верно выразился:
1. не имеет смысла писать то, что уже реализовано
2. вы уверены что в данной переменной хранится любой последний запрос к базе, а не сделанный через созданный вами объект database? по логике там должен быть именно 2 вариант, надо будет посмотреть код

Насколько я помню, там должен быть любой запрос, засланый при помощи ORM, Query Builder или ручками через Database, потому что все они идут туда, но можно будет посмотреть, проверить.

Автор:  Sergey [ 31 май 2013, 21:31 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

nkl писал(а):
К счастью, у меня драйвер ORM и мне пофиг. А разбирать фреймворк по кирпичам и выяснять что делает тот или иной метод к сожалению сейчас не могу себе позволить. Тупо нет времени. Проект после завтра должен быть сдан, а у меня еще и 20% не написано, а все из-за этого фреймворка. Уже не раз убедился в глубоком смысле этого выражения: "Они плакали и кололись, но продолжали есть кактус".


Так.
Во первых, когда вы берётесь работать с фреймворком, любым, будь то Django, Yii, Drupal или Kohana, вы должны знать матчасть. Т.е. вы должны быть программистом, хотя бы начального уровня и в ситуации с Kohana вам нужно знать элементарные вещи - PHP и MySQL.

Во вторых, у любого открытого фреймворка, открыт и API (application programming interface - интерфейс программирования приложений). Само собой разумеющееся, что любой, кто работает с фреймворком, должен работать с API. И то, что вы называете "разбирать по кирпичам" - повседневная работа, с которой вам в любом придётся сталкиваться. И вам, и любому другому программисту работающему с фреймворком нужно либо знать API, либо работать с ним, как с настольной книгой ежедневно.

Если бы вы были чуть чуть по внимательнее, хотя бы изредка просматривали бы по диагонали http://kohanaframework.org/3.2/guide/api вы наверняка заметили бы и reset(), и count(), и count_all, и last_query. В общем то вопросов у вас было бы точно меньше.

Автор:  nkl [ 04 июн 2013, 10:15 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

Спасибо за совет Sergey, в api ни разу не заглядывал, честно. Английский гайд читал, но как я понял, Guid и API Browser это несколько разные вещи. Спасибо, вы мне многое прояснили.

Автор:  nkl [ 05 авг 2013, 10:36 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

А если использовалось не find_all(), а find(); И запрос вернул 0 строк? Как мне узнать что енто произошло? Что-то не заметил свойства total_rows или чего-то подобного?

Автор:  nkl [ 05 авг 2013, 10:58 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

Ладно, это уже не важно, сделал сие не через ORM, а через QB. Теперь такой вопрос. Как в QB получить одномерный, а не двухмерный массив? Если я знаю что возвращаться будет всегда только одна строка как мне избавится от этого:
Код:
$array[0]['colum1']
$array[0]['column2'];

и получить это:
Код:
$array['colimn1'];
$array['column2'];

?
Нет, конечно, можно всегда этот 0 писать, но имхо в таком суровом фреймворке должен быть подхдящий метод для DB, не?

Автор:  Sergey [ 07 авг 2013, 02:29 ]
Заголовок сообщения:  Re: Сколько строк вернул запрос при помощи ORM?

Для проверки факта получили мы что либо при find() или нет нужно обратиться к loaded(). Это описано в API

Страница 2 из 2 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/