是否有可能使用doctrine(symfony 1.4)创建查询,其中我在from子句中从数据库(而不是schema.yml中的模型类)定义了表名?
例如:
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();
在这个查询而不是StatigPage我需要static_page(tableName)...
...谢谢
答案 0 :(得分:1)
Fracsi解决方案的其他方式:
$item = Doctrine::getTable("StaticPage")->findOneById($id);
if($item instanceof StaticPage) {
$item->setPublished(true);
$item->save();
}
始终使用您的型号/ ORM。在很少情况下,Doctrine无法构建正确的查询语法,您必须自己编写sql。
答案 1 :(得分:1)
广义版本:(通过参数传递模型名称(例如$sf_request
)
$item = Doctrine::getTable($model_name)->findOneById($id);
$item->setPublished(true);
$item->save();