Intereting Posts
Использование результата функции в качестве аргумента по умолчанию в функции PHP Php Search_Array с использованием подстановочного знака скрипт curl просто заполняет форму, не отправив ее Предупреждение: exec (): невозможно использовать fork в PHP Алгоритм сортировки: итоговые суммы погашения Magento отсортированы неправильно, что приводит к неправильному исчислению налога на отправку создать определенную папку для загрузки на основе роли пользователя и ограничить доступ к другой папке в laravel elfinder Предпочтительный метод хранения массивов PHP (json_encode vs serialize) Yii: Множественный порядок по условиям Входы и эхо-сигналы от textarea неоднократно Как легко форматировать datetime в PHP? Должен ли я использовать как striptags (), так и htmlspecialchars (), чтобы предотвратить XSS? Как стимулировать запрос cURL на запрос с использованием почтового менеджера Больше не может добавлять поля регистрации в Magento 1.4.2.0 ffmpeg получить значение от cropdetect Случайная внутренняя ошибка службы в Linkedin Connection API

Что все эти операторы SQL в Laravel?

Я просматривал исходный код Laravel, и я нашел много SQL-операторов для Eloquent, и мне было интересно, какие из них и как их можно использовать.

К сожалению, мне не удалось найти какую-либо документацию.

Вот операторы, которые я нашел в vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php :

 protected $operators = [ '=', '<', '>', '<=', '>=', '<>', '!=', 'like', 'like binary', 'not like', 'between', 'ilike', '&', '|', '^', '<<', '>>', 'rlike', 'regexp', 'not regexp', '~', '~*', '!~', '!~*', 'similar to', 'not similar to', ]; 

И их кучка я не понимаю. Например: & , | , ^ , << , >> , ~ , ~* !~ !~* .

Может ли кто-нибудь показать мне пример того, как их можно использовать?

благодаря

Как и другие комментаторы, это побитовые операторы. Побитовые операторы PHP задокументированы здесь: http://php.net/manual/en/language.operators.bitwise.php

Примеры

& является побитовым оператором И.

Побитовое И принимает два двоичных представления равной длины и выполняет логическую операцию И на каждой паре соответствующих битов путем их умножения. Таким образом, если оба бита в сравниваемой позиции равны 1, бит в результирующем двоичном представлении равен 1 (1 × 1 = 1); в противном случае результат равен 0 (1 × 0 = 0 и 0 × 0 = 0)

10 & 10 = 10 (все десятичные представления). Как? 10 является 1010 двоичным.

  1010 and 1010 -------- 1010 

Обратите внимание, что результат равен 1, только если оба верхнего и нижнего номера в одном столбце равны 1.

Способ написания PHP:

 <?php echo 10 & 10; ?> Result: 10 

Для чего это практическое применение? Возьмем пример: Есть 4 набора двойных дверей. Обе двери должны открываться одновременно, чтобы человек мог пройти. Открытой двери присваивается номер 1. Закрытой двери присваивается номер 2.

1010 означает, что первая дверь открыта, вторая закрыта, третье открыто, четвертое закрыто. Когда все двери будут закрыты, они будут выглядеть так:

 0000 <-- first set of doors 0000 <-- second set of doors 

Чтобы позволить кому-то пройти через левую дверь, двери должны быть такими:

 0001 0001 

Все в порядке, но есть более быстрый способ аннотировать это. Побитовый оператор &. Мы делаем между обеими дверями и получаем результат 1. Поэтому, если данные хранятся как 1, мы знаем, что самые левые двери были открыты.

Чтобы открыть самую левую дверь, комбинация должна быть:

 1000 1000 

Результат побитового оператора десятичный 8. Используйте калькулятор, как тот, что на miniwebtool, чтобы запустить математику.

С другой стороны, когда двери открываются и закрываются весь день, можно записать, когда открылись обе двери любого из 4-х дверей. Это просто длинный ответ на простой вопрос.

Добавлено это как комментарий к оригинальному вопросу:

Это побитовые операторы. Вот что они делают (это реализация javascript).

Они – побитовые операторы, используемые в laravel, where() , метод, и они поставляются в качестве оппортеров, вы можете найти более подробную информацию об этих opreators Here