2013-06-07 4 views
0

У меня есть этот запрос, ниже которого я пытаюсь выполнить перенос в Zend (еще ниже LOL). Я получаю эту ошибку:Zend_Db_Table_Row_Exception

Uncaught exception 'Zend_Db_Table_Row_Exception' with message 'Specified column "admin_vfname" is not in the row'

Но когда я повторяю $ select и копирую sql в Navicat, он работает нормально? Что с ним не так, потому что я не могу четко определить это?

SELECT `pay_administrator_actions`.*, `pay_administrator_actions`.* 
FROM `pay_administrator_actions` 
INNER JOIN `pay_administrator` 
ON pay_administrator.admin_uid = pay_administrator_actions.admin_uid 
WHERE (CONCAT(pay_administrator.admin_vfname, pay_administrator.admin_vlname) LIKE '%Daly%') 
LIMIT 10 

public function findActionsByName($name, $page, $rowCount) 
{ 
    $name = '%'.$name.'%';     
    $select = $this->select(); 
    $select->setIntegrityCheck(false);     
    $select->from('pay_administrator_actions'); 
    $select->join('pay_administrator', 'pay_administrator.admin_uid = pay_administrator_actions.admin_uid', 'pay_administrator_actions.*'); 
    $select->where('CONCAT(pay_administrator.admin_vfname, pay_administrator.admin_vlname) LIKE ?', $name); 
    $select->limitPage($page, $rowCount);     
    return $this->fetchAll($select); 
} 
+0

admin_vfname находится в pay_administrator, и в запросе он выбирает * из этой таблицы, поэтому не уверен, почему он не может найти строку? – Kal

+1

Измените 'pay_administrator_actions. *' На 'pay_administrator. *' В вашем соединении. – Rikesh

+0

О, я вижу это сейчас, шуты, спасибо, что положил это как ответ, и я соглашусь :) – Kal

ответ

1

Так, согласно мой комментарий вам нужно изменить pay_administrator_actions.* к pay_administrator.* в вашем присоединиться.

$select->join('pay_administrator', 'pay_administrator.admin_uid =  
pay_administrator_actions.admin_uid', 'pay_administrator.*');