querybuilder – CI4 query builder con pagination no funciona

Mi modelo es:

class Producto2Model extends Model{
    protected $table      = 'productos';
    protected $primaryKey = 'idProducto';

   protected $allowedFields = ('idProducto','nombreP','idSubC','precio','descuento','imagen','descripcion');

}

En mi controlador realizo:

    $model2P = new Producto2Model();
    $data = (
        'productos' => $model2P->paginate(9),
        'pager' => $model2P->pager
    );

Lo cual funciona, pero al realizar más operaciones sobre el modelo deja de funcionar:

   $data = (
            'productos' => $model2P->join('subCategoria', 'idSubC = idSc','left')
                                    ->join('categoria', 'idCategoria = idCategoriasc','left')
                                    ->where('idCategoria =', $data('categoria'))
                                    ->paginate(9),
            'pager' => $model2P->pager
            );