标签: propel

Symfony Propel标准

有没有可能的方法将MySQL对象转换为条件对象?我试过这个查询:

select 
  p.disrepid, 
  p.subject, p.body, 
  c.disrepid as disrepid1, 
  c.subject as subject1, 
  c.body as body1 
from discusreply as p, discusreply as c 
where p.distopid=' . $this->id . ' 
  and (c.disrepid = p.parentid or c.parentid = p.distopid) 
order by p.disrepid ASC
Run Code Online (Sandbox Code Playgroud)

我尝试了很多将这个查询转换为a Criteria,但没有任何反应.我想要这个标准对象将它传递给Pager类以完成分页. $pager->setCriteria($c);.

mysql propel symfony1 criteria

1
推荐指数
1
解决办法
8518
查看次数

在Propel分页中:查询与标准

我有推进这个问题

$units = UnitQuery::create()->find();
Run Code Online (Sandbox Code Playgroud)

我正在尝试对返回的结果进行分页,所以我想我需要使用PropelPager,根据文档创建这样的

$criteria = new Criteria();
$criteria->add(BookPeer::AUTHOR, $authorId);
$pager = new PropelPager($criteria, 'BookPeer', 'doSelect', $page = 1, $rowsPerPage = 30);
Run Code Online (Sandbox Code Playgroud)

我不明白的是如何将$units我经常使用的1行查询转换为$criteria.

此外,有没有使用像一个正常的查询方式$unitsPropelPager?它会更容易比更改查询使用$criteriadoSelect等.

php orm propel zend-framework

1
推荐指数
1
解决办法
2629
查看次数

如何在Propel(也是Doctrine)中强制重新获取关联结果 - Symfony 1.4?

我有2个实体:与Child有一对多关系的Parent.

我使用$parent->getChilds()Propel自动生成的方法来获取所有的孩子.

然后我用不同的方法手动添加(或删除)一些新的孩子:

$child = new Child();
$child->setParentId($parent->getId());
$child->save();
Run Code Online (Sandbox Code Playgroud)

现在,如果我回想一下这个getChilds方法,我会得到相同的原始子项(并且对数据库也没有额外的查询).

我知道这是更好的行为,更有效率,但有没有办法强制重新获取?

谢谢.

php orm propel symfony1

1
推荐指数
1
解决办法
1514
查看次数

Propel Criteria :: IN的问题

我正在尝试在我的查询中添加以下条件

AND momento_distribution.MOMENTO_IDMEMBER IN ( 5, 1, 3, 10, 11, 12, 18, 32, 51, 6 )
Run Code Online (Sandbox Code Playgroud)

为此,我有以下代码

$friendCsv=Friend::getFriendIdAsCsv($member); //returning string 5, 1, 3, 10, 11, 12, 18, 32, 51, 6
//code
$c->add(MomentoDistributionPeer::MOMENTO_IDMEMBER, $friendCsv, Criteria::IN);
Run Code Online (Sandbox Code Playgroud)

查询失败,因为它正在生成

AND momento_distribution.MOMENTO_IDMEMBER IN ( '5, 1, 3, 10, 11, 12, 18, 32, 51, 6' )
Run Code Online (Sandbox Code Playgroud)

在字符串上添加单引号.如果我手动删除该单引号,查询将成功运行.

有没有办法强制推动不要将单引号放在值中?

propel symfony1 symfony-1.4

1
推荐指数
1
解决办法
122
查看次数

Propel - Symfony2:必须定义propel.path.DependencyInjection \异常

在CLI上运行此commad:

php app/console propel:build

拿到

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]必须定义参数"propel.path".

在app/config/config.yml我已经:

    propel:
        path:       "%kernel.root_dir%/../vendor/propel"
        phing_path: "%kernel.root_dir%/../vendor/phing"
        logging:    %kernel.debug%
        ...

我正在使用Symfony2中的PropelBundle安装说明并通过composer安装.

系统信息:

Apache/2.2.22 (Win64) PHP/5.3.13 
"name": "phing/phing",
            "version": "2.4.12",
"name": "propel/propel-bundle",
            "version": "1.1.x-dev",
"name": "propel/propel1",
            "version": "dev-master",
"name": "sensio/generator-bundle",
            "version": "2.1.x-dev",
"name": "symfony/symfony",
            "version": "2.1.x-dev",

Wamp server Version 2.2

Win7 64

任何帮助将非常感谢!

propel symfony

1
推荐指数
1
解决办法
1769
查看次数

Propel和SQL聚合函数

以下SQL查询在Propel(1.4)中的外观如何?

SELECT SUM(`price_equipment`) FROM `order_equipment` WHERE `order_id` = 57072;
Run Code Online (Sandbox Code Playgroud)

我使用谷歌进行了一些研究,但我找到的所有例子都考虑了计数GROUP BY子句.我只需要一个值.

orm propel symfony-1.4

1
推荐指数
1
解决办法
2879
查看次数

Propel(PostgreSQL)语法错误在"."附近.

我有一个数据库设置(当前只有两个表:用户和电子邮件正在进行中)并与Propel集成.注册用户时,我会检查以确保电子邮件不存在(作为电子邮件表中的当前电子邮件或用户数据库中的原始电子邮件).

为了简单地使用推进,我使用以下内容:

if(EmailQuery::create()->filterByCurrent(TRUE)->findOneByEmailAddress($email) != NULL) {
    // email address being used currently
} else if(UserQuery::create()->findOneByOriginalEmail($email) != NULL) {
    // email address claimed on account already
}
Run Code Online (Sandbox Code Playgroud)

第一个查询工作正常,但第二个查询生成并出错:Syntax error: 7 ERROR: syntax error at or near "." Propel生成的SQL查询如下所示:

SELECT user.id, user.original_email, user.password, user.accept_terms, user.paid, user.customer_id, user.trial_end, user.created_at, user.updated_at, user.ip_address FROM user WHERE user.original_email=:p1 LIMIT 1

如果我将其复制并粘贴到phpPgAdmin中,它将返回相同的错误(并指向用户和列之间的每个.).我是PostgreSQL的新手,是否有一些我遗漏的语法片段?我使用的所有其他Propel查询构建器都顺利工作.

php postgresql propel

1
推荐指数
1
解决办法
3194
查看次数

关于插入的Symfony fk问题

我发布了类似的问题,但无法解决.我创建了一个用户和组的关系数据库,但由于某种原因,我无法正确插入测试数据.以下是架构的示例:

User:
  actAs: { Timestampable: ~ }
  columns:
    name: { type: string(255), notnull: true }
    email: { type: string(255), notnull: true, unique: true }
    nickname: { type: string(255), unique: true }
    password: { type: string(300), notnull: true }
    image: { type: string(255) }

Group:
  actAs: { Timestampable: ~ }
  columns:
    name: { type: string(500), notnull: true }
    image: { type: string(255) }
    type: { type: string(255), notnull: true }
    created_by_id: { type: integer }
  relations: 
    User: { onDelete: SET NULL, …
Run Code Online (Sandbox Code Playgroud)

mysql propel doctrine symfony1

0
推荐指数
1
解决办法
329
查看次数

symfony 1.4:关于从父类访问子类的问题

我有这个架构:

  shop_products:
    _attributes: { phpName: ShopProduct }
    products_id: { phpName: Id, type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true }
    products_quantity: { phpName: Quantity, type: INTEGER, size: '4', required: true }
    products_model: { phpName: Model, type: VARCHAR, size: '12', required: false }
    products_image: { phpName: Image, type: VARCHAR, size: '64', required: false }
    products_price: { phpName: Price, type: DECIMAL, size: '15', scale: '4', required: false, defaultValue: '0.0000' }
    products_date_added: { phpName: DateAdded, type: TIMESTAMP, required: true }
    products_last_modified: …
Run Code Online (Sandbox Code Playgroud)

propel symfony1

0
推荐指数
1
解决办法
550
查看次数

由于无法实例化XXX类,推进发电机失效

在过去的两个月里,我一直在建设一个新项目,我可能已经运行了10-15次推进,直到前几天.我做了一个快速的梨升级,然后推进gen om和似乎得到一个我不明白的错误.

我试过两个Windows机器和一台Linux机器,我一直得到同样的错误.

首先,任何人都有一个完整的项目,我可以尝试和建立,以排除这是相关的可能性.

有什么明显的吗?

我的build.properties看起来像这样

#start of file
# Database driver

propel.project = Cream

propel.targetPackage = {propel.project}


propel.database = mysql

project.home = C:\xampp\htdocs\Cream
project.build = ${project.home}/propel

propel.output.dir = ${project.home}
propel.php.dir = ${propel.output.dir}/ActiveRecord
propel.phpconf.dir = ${propel.output.dir}/ActiveRecord/config
propel.sql.dir = ${project.build}/sql


propel.database.url = mysql:host=localhost;dbname=cream
propel.database.user = root
propel.database.password = 

propel.addGenericAccessors = true
propel.addGenericMutators = true
propel.addTimeStamp = true
propel.addIncludes = false
#end of file
Run Code Online (Sandbox Code Playgroud)

错误信息很多

could not instantiate class propelSQLTask
could not instantiate class propelSchemaReverseTask
could not instantiate class propelDataSQLTask
Run Code Online (Sandbox Code Playgroud)

等等

php propel generator

0
推荐指数
1
解决办法
406
查看次数

Propel 2.0模型:build无法找到数据库

我正在尝试使用Propel 2对数据库进行逆向工程.但每次我尝试运行模型时:build命令都会出现以下错误:

[Propel\Generator\Exception\InvalidArgumentException]
Invalid database name: no configured connection named 'default'
Run Code Online (Sandbox Code Playgroud)

它说"没有配置连接"?? 但是能够使用"reverse"命令从数据库生成schema.xml吗?

提前致谢.

php mysql propel

0
推荐指数
1
解决办法
1093
查看次数

持续集成,使用Propel ORM将实际测试数据输入数据库的最佳实践

我使用Propel ORM复制表模式,以便进行持续集成,但Propel只让我得到一个完全充实的模式,它不会让我获得测试数据(或者根本不需要基本的必要数据).

如何从具有版本控制的propel-genPropel ORM生态系统的实时/测试数据库中获取数据?

continuous-integration phpunit propel database-schema

0
推荐指数
1
解决办法
518
查看次数