标签: propel

PHP ORMs:Doctrine vs. Propel

我正在使用symfony开始一个新项目,该项目很容易与DoctrinePropel集成,但我当然需要做出选择......我想知道那里有更多有经验的人是否有一般的优点和/或缺点这两个中的任何一个?

非常感谢.

编辑: 感谢所有的回复,有用的东西.对于这个问题没有真正正确的答案,所以我只会将获得最受欢迎的选票标记为已批准.

php orm propel doctrine symfony1

126
推荐指数
6
解决办法
5万
查看次数

RedBean ORM性能

我想知道,Redbean ORM可以用于社交网络应用程序等面向性能的场景,即使多个用户同时提取数千个数据,它是否也很稳定?另外我想知道Redbean是否会消耗更多的内存空间?

谁能提供Doctrine-Propel-Redbean的比较研究?

php orm propel doctrine redbean

22
推荐指数
4
解决办法
1万
查看次数

使用Composer安装Propel行为

我目前正在Windows上开发WampServer并且已经开始Composer工作(有OpenSSL),Propel安装没有问题,一切似乎都运行正常.但是,我的项目现在需要使用此处Equal Nest Behaviour找到的内容.

我以为这会让我使用推进行为.在我的schema.xml我有以下片段:

<table name="friend">
  <behavior name="equal_nest">
    <parameter name="parent_table" value="user" />
  </behavior>
</table>
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时propel-gen sql我得到了错误:

[phingcall] Unknown behavior "equal_nest"; make sure you configured the propel.be
havior.equal_nest.class setting in your build.properties
Run Code Online (Sandbox Code Playgroud)

文件说:

然后,如果您不在应用程序中使用Composer或自动加载器,请将以下配置添加到build.properties或propel.ini文件中:

让我假设我没有必要放入build.properties文件.但是,放入它会给我以下错误:

PHP Fatal error:  Class 'EqualNestParentBehavior' not found in C:\home\movesleag
ue.com\vendor\craftyshadow\propel-equalnest-behavior\src\EqualNestBehavior.php o
n line 74
Run Code Online (Sandbox Code Playgroud)

我不确定这是否与自动加载无法工作或命名空间有关(我的架构有一个命名空间,但我也删除了同样的错误).

我的composer.json文件看起来像这样:

{
    "require": {
        "craftyshadow/propel-equalnest-behavior": "dev-master"
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:我确实在那里有Propel,但由于同样的行为需要它本身,我只是让它做它的工作.

那么,在Composer中使用Propel行为的正确方法是什么,如果我做得对,为什么我会看到上面的错误?

更新

我在顶部添加了这一行EqualNestBehaviour.php:

include __DIR__ …
Run Code Online (Sandbox Code Playgroud)

php propel behavior composer-php

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

Twig instanceof用于继承对象

我正在推动http://www.propelorm.org/documentation/09-inheritance.html使用以下功能.

我也在使用Symfony2和Twig

我有一个使用上述功能的类结构,看起来像这样

class Event {}

class Birthday extends Event {}

class Walking extends Event {}
Run Code Online (Sandbox Code Playgroud)

现在我将一个事件对象传递给一个twig模板,我想知道它是什么类型的事件

例如,我希望在生日时显示蛋糕的图像,并且如果它的步行事件我想显示地图路线.

我无法在Twig中使用instanceof,因为此功能不存在.有谁现在为什么这不存在?有没有办法我可以复制这个功能,而不必做类似的事情

 public function getType()
Run Code Online (Sandbox Code Playgroud)

在每个班级,或

 public function isBirthday()
Run Code Online (Sandbox Code Playgroud)

在事件类中.

我在github上发现了这个,但它对我没用.我评论过他们是否能得到答案.

https://github.com/fabpot/Twig/issues/553

propel single-table-inheritance symfony twig

18
推荐指数
2
解决办法
2万
查看次数

Propel:从Query对象获取Raw SQL?

如何从Propel中的查询对象获取原始SQL语句?我需要这个用于调试目的.

例如:我想要一个函数

$rawSql = new BookQuery::create()->filterById(25)->getRawSql();
Run Code Online (Sandbox Code Playgroud)

这样的事情存在吗?

php sql orm propel

18
推荐指数
2
解决办法
2万
查看次数

"用户跟随"与PropelORM - 三种关系

有人能指出我正确的方向做一个"用户跟随"的事情.我有3个表:users,user_follows和posts.

如果我给用户对象加水,我可以得到他们遵循的用户ID数组......并且帖子对象知道哪个用户发布了它......但是很难为给定用户所关注的用户获取帖子.

目前有这个,它返回每个人的帖子.

    $posts = PostsQuery::create()
        ->orderByDate('desc')
        ->limit('12')
        ->find();
    return $posts;
Run Code Online (Sandbox Code Playgroud)

需要做filterByXXX()......

php mysql orm propel

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

推进表格型号w.group_by呈现时没有显示属性

环境:Symfony2 2.7/Propel 1.6

我创建了一个类似的选择表单类型:

    $builder->add('mychoice', 'model', array(
            'class' => 'Foo\\Bar',
            'query' => FooBarQuery::create()->filterBySomething(true),
            'group_by' => 'example',
            'property' => 'title',
            'multiple' => false,
            'expanded' => false,
        ));
Run Code Online (Sandbox Code Playgroud)

渲染选择列表没有好的optgroup选择选项但是标题的属性没有显示 - 而是id的属性.如果我删除group_by选项,则会很好地显示title属性.

怎么了?

forms propel symfony

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

symfony 1.4推进:build-all无法在Mysql 5.5上运行

我正在使用Symfony 1.4.8和Mysql 5.5我运行时遇到此错误

symfony推动:构建所有

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"Type = InnoDB"附近使用正确的语法

mysql innodb propel symfony1

14
推荐指数
2
解决办法
4372
查看次数

Doctrine 2和Propel 1.6的弱点和力量

我想知道Doctrine 2和Propel 1.6的优点和缺点是什么.例如,Doctrine 2实际上是用户友好的,但如果你想要超越顺从,就会限制你.Doctrine 2文档缺乏更新......

如果可能的话,您可以分享您在Doctrine2表现良好或Propel完美的地方的经验.

提前致谢.

php propel doctrine-orm

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

哪个ORM与Symfony2一起使用?

我正在用Symfony2开始一个新项目,我不确定选择哪个ORM.我听说过关于Doctrine2的一些不好的事情,特别是在继承和DQL方面.似乎Propel已经从死里复活了,但另一方面,它并不能保证会永远存在.

你有什么建议吗?

orm propel symfony doctrine-orm

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