标签: doctrine-1.2

MYSQL不正确的DATETIME格式

我有一个带有Doctrine 1的应用程序,我通过生成update_datetime对象的字段new Zend_Date->getIso().它工作得很好多年,但现在我得到了一个新的笔记本和Doctrine尝试插入DATETIME字段作为字符串"2013-07-12T03:00:00+07:00"而不是正常的MySQL日期时间格式"2013-07-12 00:00:00",这是完全奇怪的.

同样的代码在另一台计算机上运行得很好.一切都几乎相同 - 两者都是MySQL 5.6.12,PHP 5.3.15.知道我应该在哪里看?

Fatal error: Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2013-07-12T03:00:00+07:00' for column 'nextrun' at row 1' in library/Doctrine/Connection.php:1083

UPDATE

好的,在StackOverflow社区的帮助下,我终于解决了它.问题STRICT_TRANS_TABLES在于sql_mode变量.但是改变它/etc/my.cnf似乎还不够,所以我必须运行mysql -uroot并键入以下内容:

set sql_mode=NO_ENGINE_SUBSTITUTION; set global sql_mode=NO_ENGINE_SUBSTITUTION;

因此删除 STRICT_TRANS_TABLES

UPDATE2 如何永远摆脱STRICT?如何在MySQL中摆脱STRICT SQL模式

php mysql doctrine zend-framework doctrine-1.2

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

如何找出我正在运行的Doctrine版本?

CodeIgniter已经使用了一段时间,我不记得我是安装了v2还是只是从另一个项目中复制了文件.

有任何想法吗?

doctrine codeigniter doctrine-1.2 doctrine-orm

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

如何使用Doctrine查询NOT NULL?

我有桌子测试:

Test:
id | name 
1  | aaa
2  | 
3  | ccc
4  | aaa
5  | 
6  | ddd
Run Code Online (Sandbox Code Playgroud)

我想要名称为NOT NULL的结果:

aaa
ccc
aaa
ddd
Run Code Online (Sandbox Code Playgroud)

我怎么能得到:

Doctrine_Core::getTable('Test')->findBy('name', NOTNULL??) <-doesnt working
Run Code Online (Sandbox Code Playgroud)

在模型中:

$this->createQuery('u')
     ->where('name = ?', NOTNULL ???) <- doesnt working
     ->execute();
Run Code Online (Sandbox Code Playgroud)

php doctrine symfony1 symfony-1.4 doctrine-1.2

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

迭代一些字段命令的Doctrine Collection

我需要这样的东西:

        $products = Products::getTable()->find(274);
        foreach ($products->Categories->orderBy('title') as $category)
        {
            echo "{$category->title}<br />";
        }
Run Code Online (Sandbox Code Playgroud)

我知道这是不可能的,但是......如果不创建Doctrine_Query,我该怎么做呢?

谢谢.

php sorting collections doctrine doctrine-1.2

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

如何将Doctrine对象转换为json

我正在使用Doctrine 1.2,我怎样才能将查询对象变成json/array格式?

$user = Doctrine_Query::create()
->select('u.id, u.username, u.firstname, u.lastname')
->from('User u')
->orderby('u.id')
->execute();
Run Code Online (Sandbox Code Playgroud)

php json doctrine doctrine-1.2

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

如何使用Doctrine逃避LIKE%$ var%?

我正在进行Doctrine查询,我必须在where子句中进行通配符匹配.我该如何逃避我想要插入的变量?

我想要的查询:

SELECT u.* FROM User as u WHERE name LIKE %var%
Run Code Online (Sandbox Code Playgroud)

PHP代码到现在为止:

   $query = Doctrine_Query::create()
                ->from('User u')
                ->where();
Run Code Online (Sandbox Code Playgroud)

where子句应该包含哪些内容?我想要匹配的变量是$ name

doctrine doctrine-1.2

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

1.2的学说文档

有人碰巧知道1.x的Doctrine文档发生了什么变化?浏览他们的官方文档页面(必须滚动到1.2),然后单击任何文档链接会产生404.我还注意到几个谷歌搜索1.x文档正在做同样的事情.

Doctrine最近是否更改了doc结构而忘记更新?或者这是他们告诉我们升级到2.x的方式吗?

- 更新(3.9.2012) -

似乎Doctrine正在将他们的文档移动到GitHub.OP中提到的一些链接现在解析为https://github.com/doctrine/doctrine1-documentation.

- 更新(3.20.2012) -

看起来有些文档已移植到他们的ReadTheDocs门户网站.比浏览原始.txt文件更清晰的界面.

documentation orm doctrine doctrine-1.2

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

选择一列Doctrine DQL

我需要一个简单的表格列.

例如,一个表"项目",带有列id,nameyear.

如果我做:

$q = Doctrine_Query::create()
        ->select('a.pro_id')
        ->from('fndr_proyecto a')
        ->where('a.pro_id =?',1);
    $pro = $q->execute();
    json_encode($pro->toArray());
Run Code Online (Sandbox Code Playgroud)

答案就是所有专栏

{"id":1,"name":"Project name","year":2013}
Run Code Online (Sandbox Code Playgroud)

但我只需要一列.我预计:

{"id":1}
Run Code Online (Sandbox Code Playgroud)

它与DQL一起使用,因为本机SQL工作正常.

ORM是使用Visual Paradigm自动构建的.

php doctrine dql doctrine-1.2

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

Doctrine Model的默认排序属性

我想知道是否有办法声明我的学说模型的默认顺序.

例如

我有一个work模型,它有photos.当我加载作品时,与其关联的所有照片都会加载到其中$work->photos.当我显示它们时,它们按其ID排序.

在另一个字段上声明默认顺序或者覆盖提取行为altoghether非常方便.

我宁愿不将照片转换为数组并使用usort.谢谢.

php doctrine doctrine-1.2

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

Doctrine 1.2 hydrate方法 - 数组到模型对象

我对Doctrine模型hydrate()方法有一点问题.我使用这种方法从给定的数组中水合一个conrete模型的对象,如下所示:

$model = new Doctrine\Model\Model;
$model->hydrate($model_array);
Run Code Online (Sandbox Code Playgroud)

使用嵌套的子模型对简单物体进行保湿时,一切都很完美.现在问题是我需要使用嵌套对象来水合(使用此方法)一个对象(其中一些对象也有嵌套对象).

如果我使用HYDRATE_RECORD它会很好但查询中的所有记录都将作为对象返回,这意味着更多的内存消耗.因此,我正在使用HYDRATE_ARRAY并按需将水泥混凝土阵列水合成物体.

假设我有一个模型A,它有嵌套模型AB,AC(一对多),AD和AC有另一个嵌套模型ACE.在print_rA数组之后我们可以看到这个结构:

A Array (
    ...
    ab Array ( ... )
    ac Array (
        AC Array (
            ...
            ace Array ( ... )
        )
        AC Array (
            ...
            ace Array ( ... )
        )
        ...
    )
    ad Array ( ... )
)
Run Code Online (Sandbox Code Playgroud)

通常在使用水合物后,我会认为这将是我的目标:

A Object {
    ...
    ab Object { ... }
    ac Array (
        AC Object {
            ...
            ace Object { ... }
        } …
Run Code Online (Sandbox Code Playgroud)

php doctrine doctrine-1.2

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