5.0.0 - 普通 - 未处理
假设表user,主键为user_id.关联为 public function getUser()
{
return $this
->hasOne('User', 'user_id', 'user_id')
->field('username,nickname');
}查询时 $result = self::get(function ($query) use ($data) {
$map['withdraw_id'] = ['eq', $data['withdraw_id']];
$query->with('getUser')->where($map);
});"getUser"将返回null,这是因为field中不包含主键"user_id",导致"OneToOne.php"第309行实际"$set->$key"为null(等于0),从而导致返回的数据在"HasOne.php"第172行不对应,导致实际数据丢失.
官方应该做个统一,要么field注意使用,要么核心应该自动识别传入的主键
