jjzjj

php - Doctrine 2.0 是否像 Propel 1.5 那样预先生成模型类?

Propel可以根据模式文件生成类。一些生成的类是:对象(例如用户)对等点(例如UserPeer)查询(例如UserQuery)对象类(用户)包括所有属性的getter和setter。例如$user=newUser();echo$user->getEmailAddress();我的问题是:Doctrine2.0可以做到这一点吗?它是否生成基类并添加getter和setter? 最佳答案 是的,Doctrine2确实支持类生成的模式,我更喜欢YAML而不是XML,所以这里是覆盖http://www.doctrine-project.o

php - 在 Symfony2 中干净地扩展 Propel 模型的策略?

我想这样做://ModelclassnamespaceBookshop\Inventory\Model;useCore\Inventory\Model\ProductasBaseProduct;classBookextendsBaseProduct{//...}//QueryclassnamespaceBookshop\Inventory\Model;useCore\Inventory\Model\ProductQueryasBaseProductQuery;classBookQueryextendsBaseProductQuery{//...}看起来不错,对吧?但是:$book=Bo

php - Symfony2 和 Propel 包 : add additional filter to the Propel param converter

我在我的一个Controller中使用Propel参数转换器:(Symfony2.4.2+Propel1.7)*@ParamConverter("center",converter="propel",class="MyCompany\Bundle\CoreBundle\Model\Center")它运行良好,但我想添加额外的过滤器,通常是在字段isVisible上(但过滤器可能更复杂),这可能吗?事实上,我想要的是使用我的模型的自定义查询函数,而不是基本的findPk()函数。 最佳答案 如果你想指定用于查找实体的存储库方法,你可以

php - Symfony/Propel 1.4 : Read from one, 写入其他数据库

我们在Symfony1.4/Propel1.4中有一个现有项目(SNS网站+android/Iphone游戏)我们在数据库服务器(比如DB1)上遇到了额外的负载。我们正在进行数据库优化,但作为直接解决方案,我们决定再创建一个数据库服务器,因为DB2始终是DB1的精确副本。目前我们只有DB1,用于读写操作。现在我们需要将所有读取操作移至DB2,并保持DB1上的写入操作(通常在事务中)保持原样。进行这些更改的可能方法是什么(在生产服务器上没有太多停机时间),如果可能,代码更改最少。第一条评论后编辑根据J0k给出的链接和其他一些链接,我在本地开发环境中完成了以下操作。创建了一个测试symfo

php - 推进基于连接表列的过滤?

我如何在Propel中根据连接表的列进行过滤?喜欢:$results=FooQuery::create()->joinBar()->filterByBarSurname('surname'); 最佳答案 您必须使用use方法,如inthedoc所述:$results=FooQuery::create()->useBarQuery()->filterBySurname('surname')->endUse()->find();//exampleQuerygeneratedforaMySQLdatabase$query='SELECTf

php - 默认情况下将 propel 设置为日期格式 getDate ("Y-m-d"),以便更好地与 zend toArray() 一起使用

我的查询返回一个包含日期字段的对象$obj=ObjectQuery::create()->findPK(11);var_dump($obj)将日期字段显示为yyyy-mm-dd就像它在数据库中一样$obj->getThedate();将格式更改为mm/dd/yy我不想发生这种情况$obj->getThedate("Y-m-d");在数据库中给我相同的格式yyyy-mm-dd因此,为了以与存储在数据库中的格式相同的格式获取数据,我需要在获取特定日期字段时设置格式,如第三行。问题是我没有单独读取日期字段。我将完整的$obj作为一个整体并使用Zend的toArray()将其转换为数组,因此我

php - JavaScript:Backbone.js 填充模型集合

这是我目前所拥有的:varItem=Backbone.Model.extend({defaults:{id:0,pid:0,t:null,c:null},idAttribute:'RootNode_',//whatshouldthisbe???url:'page.php'});varItemList=Backbone.Collection.extend({model:Item,url:'page.php',parse:function(data){alert(JSON.stringify(data));//returnsalistofjsonobjects,butdoesnothing

php - symfony 1.4 推进 1.6 : sum

我正在尝试获取propel中列的总和。我的代码$c=newCriteria();$c->add(valuePeer::OWNER_ID,$this->getId());$c->addSelectColumn('SUM('.valuePeer::VALUE.')astotal');$c->addGroupByColumn(valuePeer::VALUE);$sum=valuePeer::DoSelect($c);打印出$sum什么都不返回(甚至不是一个空对象)。我得到的只是Notice:Undefinedoffset:1in/.../lib/model/om/BaseValue.php

php - Symfony 应用程序 - 如何将计算字段添加到 Propel 对象?

处理Propel对象的计算字段的最佳方式是什么?假设我有一个对象“Customer”,它有一个对应的表“customers”,每一列对应于我的对象的一个​​属性。我想做的是:在ViewA上而不是在ViewB和C上使用它时,将计算属性“已完成订单数”添加到我的对象。计算的属性是通过ID链接到我的“客户”对象的“订单”对象的COUNT()。我现在可以做的是首先选择所有Customer对象,然后迭代计算所有这些对象的Orders,但我认为在单个查询中执行此操作会提高性能。但是我无法正确地“滋润”我的Propel对象,因为它不包含计算字段的定义。你会如何处理它? 最

php - 为什么 propel 将 float 属性转换为字符串?

我刚刚注意到,propel在生成的setter方法中将数值转换为字符串。我的问题是,因为我使用的是德语语言环境,所以浮点值是用逗号而不是点插入的。例如:“3.5”产生字符串“3,5”。我正在使用PostgreSQL,它显然需要3.5。版本信息:如果相关,我正在使用:PHP5.3.9、Propel1.6和Symfony2.2。详细信息:表定义如下所示:......生成的setAmount()方法如下所示:publicfunctionsetAmount($v){if($v!==null&&is_numeric($v)){$v=(string)$v;}if($this->amount!==$