php PDO::FETCH_CLASS 映射到所有小写属性而不是驼峰命名法

tha*_*mes 3 php mysql pdo

我有以下映射到 MySql 表的示例类(如下所示)。当我使用 PDO::FETCH_CLASS 并执行 *var_dump* 时,我发现映射将指向所有小写属性。即“shortName”映射到“shortname”,但应该是“shortName”(驼峰式大小写,如定义的属性);

为什么它映射到全部小写,我该怎么做才能将它们映射到来自 SELECT 的确切 sql 名称?


class Category {
  public $id;
  public $fkId;
  public $shortName;
  public $longName;

  public static function getCategories() {

    $db = ezcDbInstance::get();

    $stmt = $db->prepare('SELECT 
                                 id, 
                                 fk_id AS `fkId`,
                                 short_name AS `shortName`,
                                 long_name As `longName`
                          FROM `Category`');

    $stmt->execute();

    return $stmt->fetchAll(PDO::FETCH_CLASS, "Category");
  }
}
Run Code Online (Sandbox Code Playgroud)

wal*_*uez 6

改变这个:

$db = ezcDbInstance::get();

$stmt = $db->prepare('SELECT...
Run Code Online (Sandbox Code Playgroud)

对此:

$db = ezcDbInstance::get();
$db->setAttribute( PDO::ATTR_CASE, PDO::CASE_NATURAL );

$stmt = $db->prepare('SELECT ...
Run Code Online (Sandbox Code Playgroud)