Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用原则1.2创建查询,其中表名需要来自数据库_Php_Database_Symfony 1.4_Doctrine 1.2 - Fatal编程技术网

Php 使用原则1.2创建查询,其中表名需要来自数据库

Php 使用原则1.2创建查询,其中表名需要来自数据库,php,database,symfony-1.4,doctrine-1.2,Php,Database,Symfony 1.4,Doctrine 1.2,在from子句中,我定义了数据库中的表名(而不是schema.yml中的模型类),是否有可能创建具有原则(symfony 1.4)的查询 例如: 在schema.yml中,我有一个模型类 StaticPage: connection: doctrine tableName: static_page columns: ... 我的问题如下: $item = Doctrine_Query::create(); $item->query("SELECT * FROM StaticPage WH

在from子句中,我定义了数据库中的表名(而不是schema.yml中的模型类),是否有可能创建具有原则(symfony 1.4)的查询

例如:

在schema.yml中,我有一个模型类

StaticPage:
connection: doctrine
tableName: static_page
columns:
...
我的问题如下:

$item = Doctrine_Query::create();
$item->query("SELECT * FROM StaticPage WHERE id = ".$id);
$change = $item->fetchOne();
$change->setPublished(true);
$change->save();
在这个查询中,我需要静态页面(tableName)


感谢……

Fracsi的其他解决方案:

$item = Doctrine::getTable("StaticPage")->findOneById($id);
    if($item instanceof StaticPage) {
        $item->setPublished(true);
        $item->save();
    }
始终使用您的模型/ORM。很少有情况下,条令无法构建正确的查询语法,您必须自己编写sql。

通用版本:(通过参数传递模型名称(例如,
$sf\u request


如果您有它的条令模型,为什么不使用它呢?
$item=StaticPageTable::getInstance()->find($id);
$item->setPublished(true)->save();
我在SFDOCTRINMODule generator中定义了此查询,需要对其进行泛化,因为我在应用程序中多次为不同的模型调用它。出于某种原因,当我将modelClass放入from子句时,对于某些模型,此查询会从多个表返回数据,这就是问题所在。我发现,如果我将tableName放入from子句,t当我的问题解决的很好…抱歉,但这不是我问题的解决方案。谢谢你的努力。没问题,但我真的不明白你的问题。弗拉西和我解释的方式是一个人应该使用教义的方式。
$item = Doctrine::getTable($model_name)->findOneById($id);
$item->setPublished(true);
$item->save();