php中间表加上搜索条件就报错

php中间表获取不加条件能获取到全部中间表信息,加上搜索条件就报错
// 获取文章详情
    public function getPostDetail()
    {
        //,'image'=>function($query){$query->field('url')->hidden(['pivot']);}
        $params = request()->param();
        return $this->with(['user'=>function($query){return $query->field('id,username,userpic');},'image'=>function($query){return $query->field('url');},'share'])->find($params['id']);
    }

#0 [8]ErrorException in BelongsToMany.php line 359

未定义数组索引: post_id
$list = $this->belongsToManyQuery($this->foreignKey, $this->localKey, $where)
->with($subRelation)
->cache($cache[0] ?? false, $cache[1] ?? null, $cache[2] ?? null)
->select();

    // 组装模型数据
    $data = [];
    foreach ($list as $set) {
        $pivot = $this->matchPivot($set);
        $key   = $pivot[$this->localKey];

        if ($this->withLimit && isset($data[$key]) && count($data[$key]) >= $this->withLimit) {
            continue;
        }

        $data[$key][] = $set;
    }

    return $data;
'image'=>function($query){return $query->field('url');}这种加了field就报错说未定义数组索引,不加条件就可以返回image表以及中间表的全部信息
这个找了半天也不清楚是哪里 出了问题,

是因为field('id,username,userpic')这里面没有url字段吧?