AR update之后,用 hasOne 定义的关系获取的数据,查询条件用的旧值? [ 2.0 版本 ]
class modelA {
public function getAbc() {
return $this->hasOne(modelB::class, ['u_id' => 'service_id']);
}
public afterSave(){
var_dump($this->service_id); //1
var_dump($this->abc->attributes); //2
}
}
modelA->service_id = 123;
modelA->save();
如上,service_id
旧的值是456,更新后是123,在 afterSave
里面获取关联的数据,使用的旧值456去查询的,这是什么情况?
afterSave
里面位置1是输出了123,位置2是输出了456的关联数据,不是位置2也是应该输出123关联的数据吗?
dyllen 补充于 2019-11-28 17:00
我直接$this->getAbc->one()
数据是没错的,按照123的条件去查询的。
dyllen 补充于 2019-11-28 17:25
我知道了,是我在更新之前调用过$this->abc
,更新后再调用$this->abc
用的是旧的查询。
共 0 个回答
没有找到数据。
dyllen
注册时间:2014-09-09
最后登录:2020-10-16
在线时长:48小时47分
最后登录:2020-10-16
在线时长:48小时47分
- 粉丝8
- 金钱400
- 威望80
- 积分1680