我有一个包含getDbIDFieldName的子类。功能目的是返回当前模型的主键的实际变量名称。
public function getDbIdFieldName(){ return "permission_id"; }
在主类BaseModel
中,我有以下函数setId和getId。我目前正在尝试使用这些函数来设置/获取子类的主键。
示例:
public function setId($id)
{
$this->strVal($this->getDbIdFieldName()) = $id;
}
问题是这是无效的。我尝试了很多东西,但似乎无法解决这个问题。
答案 0 :(得分:1)
如果我理解正确,您可以使用临时变量:
public function setId($id) {
$tmp = $this->getDbIdFieldName();
$this->{$tmp} = $id;
}
查看示例here。