2013-08-21 37 views

回答

0
function getstatusColumn() 
    { 
     $fieldname = 'status'; 
    $select = $this->getDbTable()->getAdapter()->quoteInto("SHOW COLUMNS FROM employee WHERE Field = ?",$fieldname); 
    $select = $this->getDbTable()->getAdapter()->fetchAll($select); 
    foreach($select as $result) 
    { 
     $r = $result['Type']; 
     $enum = substr($r, 6, -2); 
     $values = explode("','", $enum); 

    } 
    return $values; 

}

這是我做過什麼讓souliton我的問題。 這是我用來顯示下拉列表中的值。

1

您可以隨時使用$this->getAdapter()->query($yourQuery)到當前數據庫上執行任意的查詢。因此

你的函數看起來是這樣的:

public function getByField($fieldName){ 

$yourQuery=$this->getAdapter()->quoteInto("SHOW COLUMNS FROM employee WHERE Field = '?'",$fieldname); 

$query=$this->getAdapter()->query($yourQuery); 

return $this->getAdapter()->fetchAll($query); 
} 

這應該這樣做相當不錯。

+0

我得到一個致命錯誤致命錯誤:調用未定義的方法User_Model_DbTable_Employee :: quoteInto()。我如何解決這個問題。這是我的代碼函數getstatuscolumn() {field ='status'; $ fieldname ='status'; $ yourQuery = $ this-> getDbTable() - > quoteInto(「SHOW COLUMNS FROM employee WHERE Field ='?'」,$ fieldname); $ query = $ this-> getDbTable() - > query($ yourQuery); return $ this-> getDbTable() - > fetchAll($ query); } – suppi

+0

不要做'getDbTable()',做'getAdapter()'。我不知道'getDbTable()'是什麼,但我認爲它返回一個'Zend_Db_Table_Abstract'對象。你想要的是一個' Zend_Db_Adapter_Abstract'對象。正如我寫的那樣正確地嘗試。 –

+0

我試着和你給我的代碼一樣,並且我得到一個致命錯誤,顯示「致命錯誤:調用未定義的方法User_Model_Employee :: getAdapter()in」。你會建議我解決這個問題。謝謝。 – suppi