1

我有一个名为“Interestslogs”的表,模型的名称是 Interestlog。

我需要根据 Cakephp 中那个表的 id 获取 client_id。

$client_id = $this->Interestslog->find('first',array(
        'conditions' => array('Interestslogs.id' => $id),
        'fields' => array('Interestslogs.client_id'),
        )
    );

但是我收到数据库错误:

Database Error

错误:SQLSTATE [42S22]:未找到列:1054“字段列表”中的未知列“Interestslogs.interest_id”

SQL 查询:选择Interestslogsinterest_idefainterestslogs如左Interestslog加入efainterestsAS InterestON ( Interestslog. interest_id= Interest. id) 左连接efa。在(. = . )clients哪里。= 1 限制 1ClientInterestslogclient_idClientidInterestslogsid

4

4 回答 4

1

去掉 Interestslogs 中的复数“s”

$client_id = $this->Interestslog->find('first',array(
    'conditions' => array('Interestslog.id' => $id),
    'fields' => array('Interestslog.client_id'),
    )
);

并检查您的型号。如果每件事(客户和兴趣日志)都正确关联,您不应该收到任何错误。

于 2013-06-28T14:24:25.687 回答
0
$client_id = $this->Interestslog->find('first',array(
        'conditions' => array('Interestslog.id' => $id),
        'fields' => array('Interestslog.client_id'),
        )
    );

您应该在条件/字段数组中写入不带最后一个“s”的表名,因为它是由 cakephp 自动添加的。

于 2013-05-14T19:15:13.957 回答
0

检查您的 Interestlogs 表中是否有 interest_id 列。

或者试试

$variable_temp = $this->Interestslog->findById($id);
//debug($variable_temp);
$client_id = $variable['client_id'];
于 2012-07-29T17:23:08.960 回答
0

你可以试试:(如果你的关系没问题)

$this->Interestslog->recursive = -1;
$client_id = $this->Interestslog->find('first',array(
     'conditions' => array('Interestslogs.id' => $id),
     'fields' => array('Interestslogs.client_id'),
    )
);
于 2012-07-29T14:03:23.933 回答