5.0.10一对一关联查询field过滤存在BUG

浏览:765 发布日期:2017/07/05
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注意使用,要么核心应该自动识别传入的主键
评论(
后面还有条评论,点击查看>>