2013-03-28 65 views
0

笨可以返回一個數據庫查詢作爲通用的「對象」,如:演員笨數據庫結果對象到自定義對象

$q = $this->db->get("some_table"); 
$obj = $this->q->row(); 
$var = $obj->some_property 

在我來說,我希望做一個PHP類誰的公共變量是1對1的數據庫列,以及一些公共方法。有一種快速的一次性方法來將通用的「行」對象轉換或轉換爲我的自定義類對象嗎?我讀過的帖子暗示這肯定是可能的,但大多數都涉及到一個非常糟糕的序列化/反序列化解決方案。在過去,我剛剛完成:

public function __construct($row) { 
    $this->prop = $row->prop; 
    $this->id = $row->id; 
    $this->value = $row->value; 
} 

而我覺得這是非常繁瑣的,使醜陋的代碼。

回答

3

參見result()下第三部分:)

CodeIgniter User Guide: Generating Query Results

也可以傳遞一個字符串以產生(代表一個類實例化的每個結果對象(注意:這類必須被加載)

$query = $this->db->query("SELECT * FROM users;"); 

foreach ($query->result('User') as $row) 
{ 
    echo $row->name; // call attributes 
    echo $row->reverse_name(); // or methods defined on the 'User' class 
} 
+0

DOH!在閱讀文檔時正好掩蓋它。謝謝! –

+0

更新後的鏈接:http://www.codeigniter.com/user_guide/database/results.html –