次のコードが機能するように、リレーションを適切に作成しました。
const channels = await Channel.findAll({
include: [
{
model: Transaction
}
],
where: {
[Op.or]: [{ agentA: address }, { agentB: address }]
}
})
これには、チャネルに関連付けられているすべてのトランザクションが含まれます。
ただし、これをフィルタリングnonce
して、チャネルインスタンス自体に保存されている最も高いトランザクションのみを含めるようにします。
たとえば、これは私がそれが機能するはずだと思う方法ですが、これは間違いなく機能していません:
const channels = await Channel.findAll({
include: [
{
model: Transaction,
where: {
nonce: this.latestNonce // i want the latestNonce from the channel we are currently joining on
}
}
],
where: {
[Op.or]: [{ agentA: address }, { agentB: address }]
}
})
誰かがこれを機能させる方法を知っていますか?
最新のトランザクションエントリについては、次のように実行できます。
{
model: Transaction ,
required : false ,
limit : 1 ,
order : [['id' ,'desc']]
}
テーブルのすべてのフィールドがわからないため、これは単なる生のクエリですが、これが期待される結果を得る方法です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加