cakephp найти все условие И ИЛИ

Ниже мое условие:

'OR' =>
    array(
        'AND' => array(
            array('EventCompetitor.is_black' => 1),
            array('EventCompetitor.is_adult' => 1)
        ),
        'AND' => array(
            array('EventCompetitor.is_black' => 0),
            array('EventCompetitor.is_adult' => 0)
        ),
    ),

Когда я отлаживаю свой запрос, он приходит что-то вроде этого, что неверно:

AND ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0)) AND

Вот, это не то, что я хочу, я хочу это примерно так:

((`EventCompetitor`.`is_black` = 1) AND (`EventCompetitor`.`is_adult` = 1)) OR ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0))

Есть идеи, как я могу этого добиться?

Спасибо! Я хотел бы преобразовать хэши (MD5 / SHA1 и т. Д.) В десятичные целые числа для создания штрих-кодов в Code128C. Для простоты я предпочитаю, чтобы все полученные (большие) числа были ...

Мотивация: Я хотел бы преобразовать хэши (MD5 / SHA1 и т. Д.) В десятичные целые числа для создания штрих-кодов в Code128C. Для простоты я предпочитаю, чтобы все результирующие (большие) числа были положительными.

Я могу преобразовать byte [] в BigInteger в C # ...
Пример из того, что у меня есть:

byte[] data;
byte[] result;
BigInteger biResult;

result = shaM.ComputeHash(data);
biResult = new BigInteger(result);

Но (здесь ржавая CS) я прав, что массив байтов всегда можно интерпретировать двумя способами:

  • (A): как число со знаком
  • (B): как беззнаковое число

Можно ли создать БЕЗПИСАННЫЙ BigInteger из байта [] в C #?

Должен ли я просто добавить 0x00 (нулевой байт) в начало байта []?

РЕДАКТИРОВАТЬ: Спасибо AakashM, Джону и Адаму Робинсонам, добавив нулевой байт, я получил то, что мне было нужно.

EDIT2: Главное, что я должен был сделать, - это прочитать подробную документацию конструктора BigInteger (byte []), после чего я бы увидел разделы о том, как ограничить положительные числа, добавив нулевой байт.

24
задан gus 16 August 2019 в 14:19
поделиться