benefits() {
        return this.belongsToMany('Benefit', 'products_benefits', 'product_id', 'benefit_id')
            .withPivot('sort_order')
            .query('orderBy', 'sort_order', 'ASC')
            .query((qb) => {
                // avoids bookshelf adding a `DISTINCT` to the query
                // we know the result set will already be unique and DISTINCT hurts query performance
                qb.columns('benefits.*');
            });
    }
The base model keeps only the columns, which are defined in the schema.
We have to add the relations on top, otherwise bookshelf-relations
has no access to the nested relations, which should be updated.