什么是虛擬字段?
對于不在對象主表中定義的字段,統稱為虛擬字段。
通過$vcolDefs來定義虛擬字段,最簡單的一類虛擬字段是字段別名,比如
class AC1_Ordr extends AccessControl
{
protected $vcolDefs = [
[ "res" => ["t0.id orderId", "t0.dscr description"] ],
]
}
這樣就為Ordr對象增加了orderId與description兩個虛擬字段。
在get/query接口中,是可以用它們作為查詢字段的,比如:
Ordr.query(cond="orderId>100 and description like '紅色'")
在query接口中,虛擬字段與真實字段使用起來幾乎沒有區別。對外接口只有對象名,沒有表名的概念,比如不允許在cond參數中指定"t0.orderId>100"。