2011-08-20 37 views
2

我想我不理解參考字段。表格上的參考字段

我有一個簡單的表格

<?php 

class page_prueba extends Page { 
    function init(){ 
    parent::init(); 
    $p=$this; 
    $f=$p->add('Form'); 
    $f->setSource('ticket'); 
    $f->addField('line','texto')->validateNotNull(); 
    $f->addField('text','detalle')->validateNotNull(); 
    $c=$p->add('Model_Usuario'); 
    $f->addField('reference','usuario')->setValueList($c)->validateNotNull(); 
    } 
} 

而且我有一個用戶模型

<?php 
    class Model_Usuario extends Model_Table { 
    public $entity_code='usuario'; 
    public $table_alias='u'; 
    function defineFields(){ 
     parent::defineFields();   
     $this->addField('nombre'); 
     $this->addField('password'); 
     $this->addField('email'); 
     $this->addField('telefono'); 
     $this->addField('descripcion'); 
     $this->addField('interno'); 
     $this->addField('esadmin'); 
    } 
    } 
?> 

當我運行示例頁面,我得到的下拉(選項值)顯示的ID值(主鍵),但我想看到的下拉是名稱(nombre)字段。

也許我錯過了一些東西。

任何幫助將不勝感激。

感謝 亞歷

回答

1

默認情況下,模型顯示 「名稱」 字段。有幾種方法可自定義

  1. 定義名稱字段作爲計算
  2. 重新Model_Usuario :: toStringSQL()
  3. 因爲4.1還可以通過屬性來定義字段名。

你應該去2之後,這裏是例子:

public function toStringSQL($source_field, $dest_fieldname, $expr = 'name') { 
    // return parent::tostringSQL($source_field,$dest_fieldname, 'date') 

    return 'concat(name," ",surname) as ' . $dest_fieldname; 
} 
+0

羅馬, 非常感謝。 我只是簡單地改變列名,調整一些代碼,並讓它工作!!!!! 我對框架印象非常深刻,我不是一個非常有經驗的框架PHP程序員,只是簡單的代碼。 我看了其他的選擇,但現在我是一個新的敏捷工具包粉絲! 我用幾分鐘的時間用乾淨的代碼替換了一個老的開發系統,一個很酷的外觀和感覺... 再次感謝! –

+0

總是很高興聽到這樣的話。請讓我知道是否有任何問題,並繼續使用4.1版本,它是穩定的,並匹配文件。 http://agiletoolkit.org/distfiles/lab/atk4-example-4.1.zip我會很快宣佈它veeery。 – romaninsh