【问题标题】:Cakephp, i18n, SQL Error, Not unique table/aliasCakephp,i18n,SQL 错误,不是唯一的表/别名
【发布时间】:2010-03-22 12:16:45
【问题描述】:

我收到以下 SQL 错误:

SQL Error: 1066: Not unique table/alias: 'I18n__name'

在进行简单的查找查询时。

关于可能导致这种情况的任何想法? 我正在使用 bindModel 方法来检索数据是否相关?

这是我的代码:

$this->Project->bindModel(array(
                                        'hasOne' => array(
                                        'ProjectsCategories',
                                        'FilterCategory' => array(
                                                                'className' => 'Category',
                                                                'foreignKey' => false,
                                                                'conditions' => array('FilterCategory.id = ProjectsCategories.category_id')
                                                                ))));
$prlist = $this->Project->find('all', array(
                                                    'fields' => array('DISTINCT slug','name'),
                                                    'conditions' => array('FilterCategory.slug !='=>'uncategorised')
                                                    ))

【问题讨论】:

  • 您的“简单查找查询”是什么?

标签: sql cakephp internationalization


【解决方案1】:

您尚未使用或初始化您在控制器中使用的所需表/模型。使用var $uses = array('your_table_name');

【讨论】:

    【解决方案2】:

    我的问题没有直接的答案。但是经过一番研究,我得出了以下结论。

    我决定改变我的方法并停止在 cakephp 中使用翻译行为。 我发现了另一种称为 i18n 的行为,它在处理关联模型时效果更好。你可以阅读它http://www.palivoda.eu/2008/04/i18n-in-cakephp-12-database-content-translation-part-2/#comment-1380 在 cakephp 书中它说:

    "注意只有模型的字段 你会直接在做find 被翻译。通过连接的模型 关联不会被翻译 因为触发回调 目前没有关联模型 支持。”

    我不确定我是否做出了正确的选择,但是我一直在努力让翻译行为在 cakephp 中工作,而这个解决方案至少使我正在工作的项目能够正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-08
      • 2020-03-06
      • 1970-01-01
      相关资源
      最近更新 更多