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?