Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да конвертирам този MySQL израз в symfony Propel?

Propel няма стандарт начин за извършване на подзаявки като част от критерии.

Можете или да отделите заявката си (първо да получите стойността, с която искате да сравните и след това да я използвате в оригиналната заявка) или да използвате CUSTOM критерии с вашата подзаявка във вашата заявка за задвижване.

Ето пример за втората опция:

$c = new Criteria();

$subSelect = "cart.category > (
  SELECT cart.category
  FROM carts
  WHERE carts.id = 3)";

$c->add(CartPeer::CATEGORY, $subSelect, Criteria::CUSTOM);

РЕДАКТИРАНЕ: Ето пример за първата опция

// find the object we want to compare against
$c = new Criteria();
$c->add(CartPeer::ID, 3); 
$cart = CartPeer::doSelectOne($c)

// then make the actual criteria
$c = new Criteria();
$c->add(CartPeer::CATEGORY, $cart->getCategory(), Criteria::GREATER_THAN)

Единственият проблем с тази опция е, че правите две заявки вместо едно, което може да се отрази на производителността ви, но зависи от приложението ви, разбира се.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на персонализирана MySQL функция?

  2. Намерете Long/Lat вътре в многоъгълника с MySQL 5.6

  3. Как да архивирате вашата база данни Chamilo LMS MySQL

  4. Остатъкът в PostgreSQL, MS SQL Server, MySQL и SQLite

  5. как мога да изтрия базата данни, която се намирам в нея в mysql? без да знаете името на базата данни DROP DATABASE()