我想知道,Redbean ORM可以用于社交网络应用程序等面向性能的场景,即使多个用户同时提取数千个数据,它是否也很稳定?另外我想知道Redbean是否会消耗更多的内存空间?
谁能提供Doctrine-Propel-Redbean的比较研究?
我目前正在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) 我正在推动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上发现了这个,但它对我没用.我评论过他们是否能得到答案.
如何从Propel中的查询对象获取原始SQL语句?我需要这个用于调试目的.
例如:我想要一个函数
$rawSql = new BookQuery::create()->filterById(25)->getRawSql();
Run Code Online (Sandbox Code Playgroud)
这样的事情存在吗?
有人能指出我正确的方向做一个"用户跟随"的事情.我有3个表:users,user_follows和posts.
如果我给用户对象加水,我可以得到他们遵循的用户ID数组......并且帖子对象知道哪个用户发布了它......但是很难为给定用户所关注的用户获取帖子.
目前有这个,它返回每个人的帖子.
$posts = PostsQuery::create()
->orderByDate('desc')
->limit('12')
->find();
return $posts;
Run Code Online (Sandbox Code Playgroud)
需要做filterByXXX()......
环境: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属性.
怎么了?
我正在使用Symfony 1.4.8和Mysql 5.5我运行时遇到此错误
symfony推动:构建所有
您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"Type = InnoDB"附近使用正确的语法
我想知道Doctrine 2和Propel 1.6的优点和缺点是什么.例如,Doctrine 2实际上是用户友好的,但如果你想要超越顺从,就会限制你.Doctrine 2文档缺乏更新......
如果可能的话,您可以分享您在Doctrine2表现良好或Propel完美的地方的经验.
提前致谢.
我正在用Symfony2开始一个新项目,我不确定选择哪个ORM.我听说过关于Doctrine2的一些不好的事情,特别是在继承和DQL方面.似乎Propel已经从死里复活了,但另一方面,它并不能保证会永远存在.
你有什么建议吗?