小编kor*_*rxz的帖子

TypeORM 查找 where 条件 AND OR 链接

我正在尝试使用存储库查找来编写查询,但似乎没有找到适合我的查询的解决方案。我知道这可以通过查询生成器或 Raw() 条件实现,但如果可能的话,我想使用存储库查找。

我想要实现的条件是field1 = 'string' AND (field2 IS NULL OR field2 >= Date())

目前唯一适合我的解决方案是:

where: [
 { param1: 'string', field2: IsNull() },
 { param1: 'string', field2: MoreThenOrEqual(new Date() ) }
]
Run Code Online (Sandbox Code Playgroud)

但这将转换为(field1 = 'string' AND field2 IS NULL) OR (field1 = 'string' OR field2 >= Date())

我尝试过类似的东西:

where: [
 { param1: 'string', field2: ( IsNull() || MoreThenOrEqual(new Date() ) ) }
]
Run Code Online (Sandbox Code Playgroud)

但我可以让它发挥作用。有谁知道我原来的 where 条件是否可以在不更改查询的情况下完成?

仅供参考:我正在使用 Typescript 和 TypeORM。

编辑1. 根据评论的请求,我使用queryBuilder发布我当前的实现(只是where条件):

.where('param1 = :var1', {va1: 'string'}) …
Run Code Online (Sandbox Code Playgroud)

typescript typeorm node.js-typeorm

5
推荐指数
1
解决办法
2万
查看次数

Palindrom检查器,输出错误

我正在努力解决问题4 - 项目欧拉,我被困了.所以我需要一点帮助我的代码.这是我想要解决的问题:

回文数字两种方式相同.由两个2位数字的乘积制成的最大回文是9009 = 91×99.

找到由两个3位数字的乘积制成的最大回文.

码:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int is_palindrom(int number, int revrse) {
    char str1[6];
    char str2[6];

    sprintf(str1, "%d", number);
    sprintf(str2, "%d", revrse);

    return strcmp(str1, str2);
}

int main(void) {
    int number, revrse;
    int i, j, temp;
    int maks;

    for(i=999;i>99;i--)
        for(j=999;j>99;j--) {
            temp = number = i*j;
            while (temp != 0) {
                revrse = revrse * 10;
                revrse = revrse + temp%10;
                temp = temp/10;
            }
            if(is_palindrom(number, revrse)==0 && number > maks)
                maks …
Run Code Online (Sandbox Code Playgroud)

c

-1
推荐指数
1
解决办法
104
查看次数

标签 统计

c ×1

node.js-typeorm ×1

typeorm ×1

typescript ×1