【问题标题】:GIS extension for Doctrine 2Doctrine 2 的 GIS 扩展
【发布时间】:2011-12-03 13:09:09
【问题描述】:

我想为我的 Doctrine 2 项目编写一个 GIS(地理空间数据)扩展。

我知道如何编写简单的自定义函数和类型。为了适应 MySQL 特殊的存储格式,我需要在检索/存储数据时使用一些 SQL 函数(GeomFromWKB() 和 AsBinary())。

我找不到可以告诉教义 2 的地方。在我看来,convertToPHPValue() 和 convertToDatabaseValue() 方法不是正确的地方。

【问题讨论】:

    标签: php mysql doctrine doctrine-orm gis


    【解决方案1】:

    如果你想在学说 2 中调用 SQL 函数,你可以使用 Expression Func,但这仅适用于 DQL。

    这里有示例,将告诉您如何使用未包含在教义中的 DATE_DIFF 函数。

    $qb = $repository->createQueryBuilder('l');
    $qb->expr()->lte(new Doctrine\ORM\Query\Expr\Func('DATE_DIFF',array('lo.start_date', 'CURRENT_DATE()')),'0');
    

    【讨论】:

    • 谢谢,对于项目中只需要一次的偶尔使用的 SQL,这是一个很好的提示。
    【解决方案2】:

    到目前为止我发现了什么: 根据 IRC 频道,convertToPHPValueSQL() 和 convertToDatabaseValueSQL() 将成为下一个版本的一部分,并将提供所需的功能。一旦可用,定义 CustomType 就相当简单了。

    【讨论】:

    【解决方案3】:

    更新/替代:

    我找到了一个可以满足我大部分需求的 symfony2 扩展。我已经分叉了它并在此处添加了我需要的内容:

    https://github.com/tvogt/doctrine2-spatial/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      相关资源
      最近更新 更多