1. Checking IS NULL with Propel <?php $criteria = new Criteria(); // This way we create something like ($field IS NULL 0) which is wrong SQL-syntax $criteria->add($field, “” ,Criteria::ISNULL); // This way we create something like ($field IS NULL) avoiding errors $criteria->add($field, NULL ,Criteria::ISNULL); 2.Checking an OR condition with propel <?php // This criteria will check: [...]

在symfony中, 对数据库的查询一般使用Criteria对象(symfony1.2中引入了Doctrine), 下面看一个简单的查询. view plaincopy to clipboardprint? $c = new Criteria();   $products = ProductPeer::doSelect($c);   $c = new Criteria(); $products = ProductPeer::doSelect($c); 上面的查询取出了product表中的全部数据, 其作用和下面的sql语句是等同的. SELECT * FROM `product`; 可能看上去Criteria的使用显得比较复杂, 但当你进行复杂的查询的时候你就会发现Criteria是多么的强大. view plaincopy to clipboardprint? $c = new Criteria();   $c->add(Product::CATEGORY, ’computer’);   $c->add(Product::PRICE, 2000, Criteria::GTEATER_THAN);   $c->addAnd(Product::PRICE, 3000, Criteria::LESS_THAN);   $c->addAscendingOrderByColumn(Product::PRICE);   $product = ProductPeer::doSelect($c);   $c = new Criteria(); $c->add(Product::CATEGORY, ‘computer’); $c->add(Product::PRICE, 2000, Criteria::GTEATER_THAN); $c->addAnd(Product::PRICE, 3000, Criteria::LESS_THAN); $c->addAscendingOrderByColumn(Product::PRICE); $product = ProductPeer::doSelect($c); 上面的语句取出了价格在2000至3000之间的分类为computer的产品, 并按照价格升序排列, 上面的语句会生成一个类似下面的语句. SELECT * [...]

© 2011 科创网 豫ICP备11029392号 Suffusion theme by Sayontan Sinha