2012-04-01 15 views
10

CakePHP çerçevesini kullanıyorum. Bir sorgunun sonuçlarını döndürürken, çerçeve, veritabanından geri döndüğünde verileri "dizilemek" için "deneysel" PDOStatement::getColumnMeta'u çağırır. Bununla birlikte, sorguya bağlı olarak karışık sonuçlar vardır. Tüm sütunların görünümün adıyla ilişkilendirildiği zaman, veri dizisinin beklendiği gibi geri döndüğü zamanlar vardır. Diğer zamanlar, verilerin bir kısmı geri döndürülür, buradaki verilerden bazıları, orijinal tablo ile ilişkilendirilmiş bir dizide oturur. Sonuçlar inşa edilirPDOStatement :: getColumnMeta, görünüm adı yerine orijinal tablo adını döndürür

// correct 
Array(
[MyInstall] => Array 
    (
     [id] => a6d1342a-7b4d-11e1-8397-60195b7d6275 
     [user_id] => dc038c9e-7b4b-11e1-8397-60195b7d6275 
     [script_id] => 057de1e0-7b48-11e1-8397-60195b7d6275 
     [path] => 
     [url] => 
     [created] => 2009-06-15 12:43:30 
     [version] => 3.2.1 
     [admin_url] => wp-admin 
     [name] => WordPress 
     [icon] => icon_WordPress.gif 
    ) 
) 

//incorrect 
Array(
[MyInstall] => Array 
    (
     [id] => c71a2368-7b4d-11e1-8397-60195b7d6275 
     [user_id] => dc038c9e-7b4b-11e1-8397-60195b7d6275 
     [path] => 
     [url] => 
     [created] => 2011-11-07 22:26:38 
     [version] => 3.2.1 
     [admin_url] => wp-admin 
) 

[Script] => Array 
    (
     [script_id] => 057de1e0-7b48-11e1-8397-60195b7d6275 
     [name] => WordPress 
     [icon] => icon_WordPress.gif 
) 
) 

yolu PDOStatment::getColumnMeta sonuçlarından olduğunu. İşte getColumnMeta örnek bir sonucu gibi görünür:

Ben MySQL için PDO kullanarak bu aynı bilgi alabilir konusunda herhangi bir öneriniz
Array 
(
    [native_type] => STRING 
    [pdo_type] => 2 
    [flags] => Array 
     (
      [0] => not_null 
     ) 

    [table] => MyInstall 
    [name] => id 
    [len] => 108 
    [precision] => 0 
) 

? Yoksa bu soruna başka bir çözüm var mı?

BTW: Ben zaten bu konuda PHP millet ile filed a bug.

+0

Bu sorunun, tümce tümce sorunlarını içeren birleştirme adı Aliases kombinasyonunu kullanmakla ilgili olduğunu keşfettim. (OP'deki hatayı görün). Hala PHP devinden bir cevap bekliyorum. –

cevap

İlgili konular