简体   繁体   中英

How can I select from a raw string in objection orm

I am trying to run a query from the results of another using with in the objection orm

ex:

Model.query().with(alias, query).select(columns).from(alias);

according to the Knex documentation which is linked from the objection docs , this should work fine. However, when I run the code, objection prepends the schema name to the alias and I get an error stating that relation schema.alias does not exist . I tried using raw but this did not help either.

ex:

Model.query().with(alias, query).select(columns).from(raw(alias));

is there a way for me to select the table/alias defined in the with method without objection prepending the schema to it?

The query method of the model I was using was overridden with code that specified the schema

ex:

class MyModel extends BaseModel {
  static query() {
     return super.query().withSchema(schema);
  }
}

To get around this issue I used the query method of the parent class directly rather than the overridden query method of the model I was using.

This solves my current problem, but does not answer the question of whether one could omit the prepended schema name in the from method.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM