标准中未找到列错误

时间:2011-07-21 08:26:24

标签: mysql symfony1 criteria propel

我正在研究一个symfony项目,我需要查询多对多关系,所以我使用这个基于标准的函数来查询数据库:

    //Create Criteria Object
    $c1 = new Criteria();
    //Selecting the rows in the link table that matches the Table1 id (parameter)
    $c1->add(LinktablePeer::TBL1_CODIGO,$parameter,Criteria::EQUAL);
    //Selecting the rows in Table2 that matched with the last query
    $c1->addJoin(LinktablePeer::TBL2_CODIGO,Table2Peer::TBL2_CODIGO);
    $list = LinktablePeer::doSelect($c1);

但是它让我想起了这个奇怪的错误

  

[wrapped:SQLSTATE [42S22]:找不到列:1054未知列   '字段列表'中的'link_table.ID']

很奇怪,因为我在该表中没有名为ID的列。为什么会这样?我该如何解决?

换句话说,问题是:

是否有php symfony propel:build-model命令的选项阻止为那些没有主键的表生成“ID”列? 谢谢你的时间;)

1 个答案:

答案 0 :(得分:1)

我发现问题是 dump命令任务试图导出我的mysql数据库中的视图。 当我专门定义我想用-classes="..."导出的表时,错误就消失了。

例如:

symfony propel:data-dump --classes="{table},{tablew},..."  fixtures.yml