问题是这样的,在模型中动态修改关联信息
protected $_link=[
‘user’=>[
‘mapping_type’ => self::BELONGS_TO,
‘class_name’ => ‘user’,
‘foreign_key’ => ‘userid’
]
];
// 动态修改
public function __set($name,$value)
{
$this->_link[$name] = array_merge($this->_link[$name],$value);
}
可是发现在调用的时候 始终不生效,一路调试,发现也修改成功了 ,可在关联模型中使用的$_link 始终是初始定义的。
解决方法:实例化的时候直接 D(表名) ,即使你直接new \模块名称\Model\模型名称 也不会生效 –在本模块调用
如果跨模块调用 D(模块名称/表名) –也是必须的,不然会报错 因为默认是调用本模块的模型
具体原因:研究一下就知道了
未经允许不得转载:开心乐窝-乐在其中 » TP3.23 关联模型 动态修改关联信息后不生效问题