首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法联接两个数据库表cakephp %3

无法联接两个数据库表cakephp %3
EN

Stack Overflow用户
提问于 2019-01-21 21:50:23
回答 1查看 24关注 0票数 0

我使用名为'default‘和'default_history’的多个two数据库。在'default‘db下,我有一个名为'recipes’的表,'order_detail_history‘在'default_history’db下。我有一个名为OrderDetailHistoryTable的模型表。这是我的模型表:

代码语言:javascript
复制
public static function defaultConnectionName()  
{
    return 'default_history';
}

public function initialize(array $config)
{
    parent::initialize($config);

    $this->setTable('order_detail_history');
    $this->setDisplayField('id');
    $this->setPrimaryKey('id');

    $this->belongsTo('RecipesLeft', [
        'strategy' => 'select',
        'propertyName' => 'Recipes',
        'className' => 'Recipes',
        'foreignKey' => 'recipe_id',
        'joinType' => 'LEFT'
    ]);
}

我正在使用查询:-

代码语言:javascript
复制
$recipe_list_history = $this->OrderDetailHistory->find('list', ['keyField' => 'RecipesLeft.id', 'valueField' => 'RecipesLeft.recipe_name'])->select(['RecipesLeft.id', 'RecipesLeft.recipe_name'])->contain(['RecipesLeft'])->where(['OrderDetailHistory.order_id' => $history_id])->order(['OrderDetailHistory.id'])->hydrate(false)->toArray();

我得到了这个db错误:

代码语言:javascript
复制
Column not found: 1054 Unknown column 'RecipesLeft.id' in 'field list'
SELECT RecipesLeft.id AS `RecipesLeft__id`, RecipesLeft.recipe_name AS `RecipesLeft__recipe_name` FROM order_detail_history OrderDetailHistory WHERE OrderDetailHistory.order_id = :c0 ORDER BY OrderDetailHistory.id

我已经在模型表中定义了关联,但我无法使用order_detials_history连接配方表。!!

EN

回答 1

Stack Overflow用户

发布于 2019-01-22 15:28:18

看起来您的Recipes表没有id列(主键)。你能把这三个表的数据库方案贴出来吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54291409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档