2019-11-28 16:59:08 1400次浏览 0条回答 0 悬赏 10 金钱
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关联的数据吗?

补充于 2019-11-28 17:00

我直接$this->getAbc->one()数据是没错的,按照123的条件去查询的。

补充于 2019-11-28 17:25

我知道了,是我在更新之前调用过$this->abc,更新后再调用$this->abc用的是旧的查询。

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
dyllen
经理

dyllen

注册时间:2014-09-09
最后登录:2020-10-16
在线时长:48小时47分
  • 粉丝8
  • 金钱400
  • 威望80
  • 积分1680

热门问题