我使用SilverStripe(不是我的選擇),我用最簡單的事情掙扎......Silverstripe慣於返回字段從DB
我創建了一個函數從表中返回一些數據時,功能行中適用於各個領域除了1,這是我在做什麼:
public function LotNumber() {
return $this->LotNo;
}
我失去的東西,有沒有別的東西,我需要做什麼?
我使用SilverStripe(不是我的選擇),我用最簡單的事情掙扎......Silverstripe慣於返回字段從DB
我創建了一個函數從表中返回一些數據時,功能行中適用於各個領域除了1,這是我在做什麼:
public function LotNumber() {
return $this->LotNo;
}
我失去的東西,有沒有別的東西,我需要做什麼?
銀線紋使用魔術__call()
功能。因此,自定義getters
和setters
可能會有點麻煩(因爲他們可能會自稱)。您可以輕鬆地選擇其他方法名避免這種情況,或者把這個在您的getter:
return $this->getField('LotNo');
如何稱自己是一個問題? – jberculo
用給出的代碼,它不會是一個問題。但他發佈這個,因爲它不起作用。所以我得出結論:可能會有一個名字相同的函數(或者'getLotNo')和他的'$ db'中的一樣,因爲這會給出錯誤/注意:'Undefined property' –
首先必須表現出更多的代碼!
請問LotNo
在某些範圍內?
要訪問db字段LotNo
,請將其定義爲靜態$db
屬性。
您必須:
private static $db = array(
'LotNo' => 'Type'
);
比你可以像這樣訪問:
public function LotNumber() {
return $this->LotNo;
}
請問你'db'聲明是什麼樣子?也許你沒有得到任何回報,因爲值是'0'? – bummzack
這是一個例子,還是這是一個真正的功能?這是有點不必要的,因爲$ dataobject-> LotNumber()將與$ dataobject-> Lotno完全相同。在模板環境中使用它只會返回值而不是Dbfield對象。 – jberculo