这是ZF应用程序中的主义代码:
$rowset = Doctrine_Query::create()
->select("cu.clientuser, cu.usertitle, u.firstname")
->from('Model_Db_Tblclientuser cu')
->innerJoin('cu.Tblusers u')
->whereIn('cu.clientid', (int)$clientid)
->execute();
foreach ($rowset as $row) {
$list[] = array(
'title' => $row->usertitle,
'firstname' => $row->firstname
);
}
已生成的查询是以下查询:
SELECT
t.clientuser AS t__clientuser,
t.usertitle AS t__usertitle,
t2.userid AS t2__userid,
t2.firstname AS t2__firstname
FROM
tblclientuser t INNER JOIN tblusers t2 ON t.userid = t2.userid
WHERE
(t.clientid IN (1))
复制粘贴到phpmyadmin中,可以得到完美的结果。
但是当我运行ZF应用程序时,它出错了...
对于“ clientuser”字段,一切正常。
但是对于“名字”字段来说,这是错误的...
Unknown record property / related component "firstname"
on "Model_Db_Tblclientuser"
我做错了什么?
需要注意的非常奇怪的事情:如果我这样做
foreach ($rowset as $row) {
var_dump($row);
}
它也从其他所有表中输出东西,这些表根本不重要...
最佳答案
我想我遇到了同样的问题,并通过选择联接上的ID来解决。
尝试添加..
->select("cu.clientuser, cu.usertitle, u.id, u.firstname")
或无论连接键是什么,看看是否可以解决。
关于mysql - 内在 Doctrine ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9998867/