我已经阅读了很多关于ORM的文章,但我想知道是否有ORM之类的原则和SQL之间的并排比较示例,以便您可以看到哪个更容易维护?无法在google中找到此类比较。 最佳答案 “更易于维护”是主观的。ORM总是有一些限制。它试图将平面关系SQL放入OOP的procrustean床中。如果您是OOP的忠实粉丝,那么ORM可能适合您。否则请使用SQL。换句话说,ORM使通用任务变得更简单,但任何不寻常的任务都会让人头疼。 关于php-ORM(doctrine)和SQL之间的代码比较?,我们在Sta
这个问题困扰了我很长一段时间,但现在我必须找到答案。我们正在使用CodeIgniter和Doctrine开展一个相当大的项目。我们的应用程序有一个前端和一个管理区域,供公司检查/更改/删除数据。当我们设计前端时,我们只是在Controller中直接使用了大部分Doctrine代码://Insemi-pseudocodefunctionregister(){$data=get_post_data();if(count($data)&&isValid($data)){$U=newUser();$U->fromArray($data);$U->save();$C=newCustomer();
我是PHP专家。在PHP中我主要使用DoctrineORM来处理数据库问题。我最近正在考虑转向Python+Django。我知道Python但没有使用Django的经验。任何对Django中的Doctrine和ORM都有很好了解的人可以给我比较这两个ORM实现的特性吗? 最佳答案 我是一个必须从Django1.4切换到Symfony2.1的人,所以我不得不使用Doctrine2而不是当前的DjangoORM。也许Doctrine可以做很多事情,但让我告诉你,使用来自Django的它对我来说是一场噩梦。我厌倦了php/Symfony/
我有下表Test:tableName:testcolumns:test_id:name:test_idasidprimary:trueautoincrement:truetype:integernotnull:truetest_name:name:test_nameasnametype:string(255)test_title:name:test_titleastitletype:string(255)和这个dql语句$dql=Doctrine_Query::create()->select('t.name')->from('Model_Testt');生成了下面的sqlSELECT
我正在使用Doctrine1.2。我想执行一个Doctrine_Query,而不是返回一个Doctrine_Collection将返回我选择的一个类。也就是说,像$o=Doctrine_Query::create()->from('Foo')->execute();$o;//instanceofDoctrine_Collection通常会返回一个通用的Doctrine_Collection对象。相反,我希望它返回一个我在别处定义的Foo_Collection对象classFoo_CollectionextendsDoctrine_Collection{publicfunctionsoS
我想使用ORM,但遗憾的是我们的数据库(Oracle)没有稳定的PDO。PHP页面指出PDO_OCI扩展是“实验性的”并警告不要使用它。似乎Doctrine和Propel都需要PDO。其他Oracle/PHP商店在生产中使用什么ORM? 最佳答案 Doctrine2supportsOCI8outofthebox.对于Doctrine1.2,你必须implementyourownconnectionclass使用OCI8extension(Oracle积极支持的唯一一个)。很有可能,您会在GitHub上或通过googlingforit
我需要一个PHPORM来很好地处理关系。请考虑Zend中的以下代码:$persons=newPersons();$person=$persons->find(5)->current();echo'Name:'.$person->fullname;$phones=$person->findDependentRowset('Phones');foreach($phonesas$phone)echo'Phone:'.$phone->phonenumber;或xPDO中的以下代码:$person=$xpdo->getObject('Persons',5);echo'Name:'.$person
我想解耦我的应用程序,这样我就可以在任何地方使用我的实体,无论它们的数据源是什么。所以我把我的实体放在DataAccessLayerBundle\Entity和中的映射DataProvider\DataBaseBundle\Resources\config\doctrine问题:当我尝试以下命令时:phpapp\consoledoctrine:schema:create构建我的数据库时,出现以下错误:Warning:class_parents():Class(..)\DataProvider\DatabaseBundle\Entity\BaseEntitydoesnotexistand
尝试使用适用于Kohana3.2的ORM进行验证。目前我有我的模型:array());protected$_rules=array('name'=>array('not_empty'=>NULL,'min_length'=>array(3),'max_length'=>array(20),),'sku'=>array('not_empty'=>NULL,'min_length'=>array(3),'max_length'=>array(6),),);}这是我的Controller:find_all();$this->template->title=__('Brands');$this
TwitterTweets实体:/***MyBundle\CoreBundle\Entity\TwitterTweets**@ORM\Table(name="twitter_tweets")*@ORM\Entity*/classTwitterTweets{/***@varTwitterUsers**@ORM\ManyToOne(targetEntity="TwitterUsers",inversedBy="tweets")*@ORM\JoinTable(name="twitter_tweets",*joinColumns={*@ORM\JoinColumn(name="twitter_