Laravel 5.7: QueryBuilder Возвращает все записи, даже если выполнение пользовательского запроса не возвращает записей

То, что вы делаете, прекрасно, особенно учитывая, что размер вашей матрицы постоянный и никогда не меняется. SMTLib не имеет понятия циклов, хотя последние версии позволяют рекурсивные определения функций, которые могут быть использованы для этого эффекта. См. Этот ответ для другого, но связанного с этим вопроса о том, как использовать рекурсию: https://stackoverflow.com/a/51140049/936310 . Тем не менее, я бы рекомендовал придерживаться вашего текущего кода для простоты и более широкой поддержки от множества решателей.

На мой взгляд, SMTLib действительно должен быть «сгенерирован» вместо прямого использования; и большинство инструментов используют его таким образом. Если вам нужно усложнить программирование, я бы рекомендовал вместо этого использовать интерфейс более высокого уровня. Есть интерфейсы для Z3 и других решателей практически на любом языке, который вы можете себе представить. Python и Haskell обеспечивают действительно высокоуровневые привязки, которые избавляются от большей части шаблона для вас. У вас также есть привязки низкого уровня от C / C ++ / Java, если это ваш выбор. См. с использованием арифметики с плавающей точкой с API-интерфейсами Z3 C ++ для сравнения стилей.

0
задан Rahul Sharma 19 January 2019 в 06:59
поделиться

1 ответ

Это потому, что нетерпеливо загруженные отношения (usermeta в вашем случае) выполняются как отдельный SQL-запрос. Затем они сопоставляются с моделью User с помощью PHP, а не на уровне вашей базы данных.

0
ответ дан Amade 19 January 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: