我有以下示例類映射到MySql表(如下所示)。當我使用PDO :: FETCH_CLASS並執行* var_dump *時,我發現映射將轉到所有小寫屬性。即'shortName'映射到'shortname',但應該是'shortName'(駱駝大小寫,如定義的屬性);php PDO :: FETCH_CLASS映射到所有小寫屬性,而不是camelCase
爲什麼它映射到全部小寫,我該怎麼做才能將它們映射到來自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");
}
}
差不多就是我終於實現了。歡迎來自其他人的更多想法,但我將此標記爲現在的答案。 – thames 2012-03-09 16:00:16
您可能會發現[企業應用程序架構的模式](http://martinfowler.com/books.html#eaa)洞察力。不止一章是關於如何將數據庫和應用程序集成在一起 - 以及不同類型的抽象和映射。 – hakre 2012-03-10 09:55:54