Как я могу получить доступ к индексу массива в Кохане - PullRequest
0 голосов
/ 23 августа 2011

Я получаю набор результатов в массиве.Теперь я пытаюсь получить доступ к идентификатору, который является первым индексом массива, но получаю ошибку.Пожалуйста, дайте мне знать, как получить доступ к индексам массива.

$email_template = DB::query(Database::SELECT,"select * from mail_settings where id = " .$email['id'])->execute();   

Ответы [ 2 ]

0 голосов
/ 06 сентября 2011

Когда вы просто запускаете метод execute для запроса, вы получаете объект Database_MySQL_Result .

Чтобы вернуть массив, используйте метод as_array, например, так:

$email_template = DB::query(Database::SELECT,
                         "select * from mail_settings where id = " .$email['id'])
                         ->execute()->as_array(); 

Теперь вы сможете получить доступ к набору результатов в виде массива.

Если все, что вам нужно / нужно, это первая или текущая строка запроса, вы можете использовать метод current, о котором вы можете прочитать подробнее в Kohana_Database_MySQL_Result классе:

$email_template = DB::query(Database::SELECT,
                         "select * from mail_settings where id = " .$email['id'])
                         ->execute()->current(); 
0 голосов
/ 23 августа 2011

Вы получаете объект Database_MySQL_Result, а не массив.

Это будет правильно.

$email_template = DB::query(Database::SELECT, 
                         "select * from mail_settings where id = " .$email['id'])
                         ->execute()->current();
...