2011-05-14 53 views
0

嗨誰能告訴我爲什麼下面的代碼只返回一個值2,洗澡Zend Dojo過濾選擇僅返回一個值

從我的控制器自動完成動作

 public function groomappointserviceAction() 
    { 

    $this->_helper->layout->disableLayout(); 
    $this->getHelper('viewRenderer')->setNoRender(true); 

    // get a list of all grooming services IDs and related procedures 
    $gqry= Doctrine_Query::create() 
    ->select('g.groomServicesID AS iden , p.groomprocedure AS name') 
    ->from('PetManager_Model_Groomservices g') 
    ->leftJoin('g.PetManager_Model_Groomprocedures p'); 
    $result = $gqry->fetchArray(); 

    //generate and return JSON string 
    $data = new Zend_Dojo_Data('iden',$result); 
    echo $data->toJson(); 
    } 

我表單的FilteringSelect來

 // Create a autocomplete select input for the grooming 
    $gservice = new Zend_Dojo_Form_Element_FilteringSelect('gapmtService'); 
    $gservice->setLabel('Proceedure'); 
      $gservice->setOptions(array(
      'autocomplete' => true, 
      'storeID' => 'groomappointserviceStore', 
      'storeType' => 'dojo.data.ItemFileReadStore', 
      'storeParams' => array('url' => "/groomappointments/appointment/groomappointservice"), 
     'dijitParams' => array('searchAttr' => 'name'))) 
     ->setRequired(true) 
     ->addValidator('NotEmpty', true) 
     ->addFilter('HTMLEntities')    
     ->addFilter('StringToLower')   
     ->addFilter('StringTrim'); 

當MySQL中的相同(I Believe)查詢返回

mysql> select g.groomservicesid AS iden , p.groomprocedure as name 
    -> from groomservices AS g LEFT JOIN groomProcedures AS p 
    -> on g.groomProcedure = p.groomProceduresID; 
+------+--------------------------+ 
| iden | name      | 
+------+--------------------------+ 
| 2 | Bath      | 
| 7 | Bath      | 
| 8 | Bath      | 
| 9 | Bath      | 
| 1 | Nail Clip    | 
| 4 | Nail Clip    | 
| 5 | Nail Clip    | 
| 6 | Nail Clip    | 
| 19 | Shed Less    | 
| 20 | Shed Less    | 
| 21 | Shed Less    | 
| 22 | Shed Less    | 
| 13 | Dematting/Hand Stripping | 
| 14 | Dematting/Hand Stripping | 
| 15 | Dematting/Hand Stripping | 
| 16 | Dematting/Hand Stripping | 
| 17 | Dematting/Hand Stripping | 
| 18 | Dematting/Hand Stripping | 
| 3 | Bath Brush    | 
| 10 | Bath Brush    | 
| 11 | Bath Brush    | 
| 12 | Bath Brush    | 
+------+--------------------------+ 
22 rows in set (0.00 sec) 
+0

任何人有一個想法,在那裏我搞砸了嗎? – Graham 2011-05-16 17:35:46

回答

0

好吧,我已經通過將代碼更改爲下面的內容來對此進行了排序。不知道爲什麼它現在正在工作,因爲我早些時候嘗試過,但沒有奏效。

我自動完成動作

public function groomappointserviceAction() 
{ 

    $this->_helper->layout->disableLayout(); 
    $this->getHelper('viewRenderer')->setNoRender(true); 

    // get a list of all grooming services IDs and related procedures 
    $gqry= Doctrine_Query::create() 
     ->select('g.groomServicesID, p.groomprocedure AS name') 
     ->from('PetManager_Model_Groomservices g') 
     ->leftJoin('g.PetManager_Model_Groomprocedures'); 
    $result = $gqry->fetchArray(); 

    //generate and return JSON string 
    $data = new Zend_Dojo_Data('groomServicesID',$result); 
    echo $data->toJson(); 
} 

的FilteringSelect來我的表格

// Create a autocomplete select input for the grooming 
    $gservice = new Zend_Dojo_Form_Element_FilteringSelect('gapmtService'); 
    $gservice->setLabel('Proceedure'); 
    $gservice->setOptions(array(
     'autocomplete' => true, 
     'storeID' => 'groomappointserviceStore', 
     'storeType' => 'dojo.data.ItemFileReadStore', 
     'storeParams' => array('url' => "/groomappointments/appointment/groomappointservice"), 
     'dijitParams' => array('searchAttr' => 'name'))) 
     ->setRequired(true) 
     ->addValidator('NotEmpty', true) 
     ->addFilter('HTMLEntities')    
     ->addFilter('StringToLower')   
     ->addFilter('StringTrim');