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