ORM Kohana 3 ORM as_array return array

0 Cevap php

I'm executing a simple query and want to get an array back. Based on the ORM tutorial that comes with the Kohana 3 guide, I thought I could do the following:

ORM::factory('user')->find_all()->as_array();

Ama bu bana modeli nesneleri bir dizi (yani array (User_Model1, User_Model2 vermek gibi görünüyor ...

Kaynağında baktığımızda ben kolayca aşağıdaki yama ile hack çözebilirsiniz bakın.

modules/database/classes/kohana/database/result.php
@@ -94,7 +94,7 @@
                        foreach ($this as $row)
                        {
-                               $results[] = $row;
+                               $results[] = $row->as_array();

Hangisi daha kullanım kılavuzunun ne diyor doğrultusunda görünüyor:

ORM bir güçlü özelliği bir dizi olarak verilen kayıt dönecektir ORM :: as_array yöntemidir. ORM :: find_all ile kullanılırsa, tüm kayıtların bir dizi iade edilecektir. Bu yararlı olduğunda iyi bir örnek bir seçim listesi için:

// Display a select field of usernames (using the id as values) echo Form::select('user', ORM::factory('user')->find_all()->as_array('id', 'username'));

Wondering if this is intentional, if so, why? What would be a better work around if I do want to create an array of associative arrays?

0 Cevap