【问题标题】:How to handle database view using Symfony?如何使用 Symfony 处理数据库视图?
【发布时间】:2012-10-16 11:37:13
【问题描述】:

有人知道如何在 PHP symfony1.4 中处理数据库视图吗?

我在数据库中手动创建了一个视图“ABC”。 现在,我想从该视图“ABC”中选择记录,并在查询中添加 where 子句。 如果可能的话,举个例子。

编辑:

我的架构是:

Product:
  columns:
    name:             { type: string(127), notnull: true }
    launch_date:      { type: date }
    price:            { type: integer }
    status_id:        { type: integer }

ProductLocation :
    product_id:       { type: integer }
    name:             { type: string(50) }
    launch_date:      { type: date }
  relations:
    Product:          {onDelete: RESTRICT, local: product_id, foreign: id, foreignAlias: "Products" } 

我想为两个表的联合创建视图。 谢谢

【问题讨论】:

    标签: php symfony-1.4 doctrine-1.2 sql-view


    【解决方案1】:

    您只需要在 schema.yml 中定义视图,就像您在数据库中手动创建的一样。

    然后重建您的架构 (php symfony doctrine:build --model),您将能够使用 Doctrine 函数访问您的视图。但是如果你尝试在这个视图中创建任何东西,你会得到错误,这是正常的。

    如果您提供有关您的视图的更多信息(字段、名称等),我可以提供示例

    编辑:

    顺便问一下,您是否在 Google 上进行了搜索?

    他们都解释了如何从查询中创建视图,然后使用它来浏览结果,但我几乎可以肯定你可以使用我上面描述的方法。

    编辑 2:

    在架构中定义的视图与定义的真实表完全相同,尝试类似的东西(调整内部字段):

    Product_ProductLocation:
      columns:
        name:             { type: string(127), notnull: true }
        launch_date:      { type: date }
        price:            { type: integer }
        status_id:        { type: integer }
        product_id:       { type: integer }
    

    【讨论】:

    • 谢谢大家... @j0k:我有两个表:Product(name,launch_date,price,status_id) & ProductLocation(product_id,name,launch_date) 我的视图将是两个表的联合。请举例。谢谢。
    • @monishk 你能用你的视图结构更新你的问题吗?
    • 我的视图结构是 Product_ProductLocation(name,launch_date,price,status_id,product_id,name,launch_date),它是上面列出的两个表的并集。
    • 但是我可以拥有架构吗?我的意思是,我还需要每个字段的类型。用这些信息更新您的主要问题
    • 如果您不清楚我的问题,请向我展示如何在架构中定义视图的示例...谢谢...:)
    【解决方案2】:

    这在 Symfony 中是可能的。我没有尝试,但我放了一个链接供您参考。 http://trac.propelorm.org/wiki/Documentation/1.3/FAQ#DoesPropelsupportViews。祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 1970-01-01
      • 2020-10-28
      • 2018-07-21
      • 2022-01-03
      相关资源
      最近更新 更多