繁体   English   中英

Zend Framework DB Select无法获取整行的数据

[英]Zend Framework DB Select doesn't get the data for the whole row

我很沮丧

我有一组数据库,这些数据库保存客户数据,诸如client_personal中的个人详细信息以及client_contact中的联系详细信息之类的东西。这里有6个联接正在收集一整行信息。 因此,从逻辑上(或我认为),我做到了;

$oSelect->from(array('details' => 'client_details'))
        ->joinLeft(array('contact' => 'client_contact'), 'contact.client_id = details.id')
        ->joinLeft(array('other'   => 'client_other_details'), 'other.client_id = details.id')
        ->joinLeft(array('nok'     => 'client_nextofkin'), 'nok.client_id = details.id')
        ->joinLeft(array('notes'   => 'client_notes'), 'notes.client_id = details.id')
        ->joinLeft(array('contract' => 'client_contract'), 'contract.client_id = details.id')
        ->joinLeft(array('image'   => 'client_image'), 'image.client_id = details.id')
        ->where('details.id = ?', $cid);

现在,这返回了大量信息,但是我的测试数据中缺少某些字段。 例如,client_contact包含:

id    client_id    email    phone    mobile    phone    address    postcode    country

虽然我已经验证了所有字段都包含一些测试数据,但我正在获取除“ phone”和“ address”以外的每个字段的数据-phone是一个varchar(11)字段,与mobile相同,取出数据,地址是一个文本字段,与邮政编码(对于本测试而言)相同,我也要获取数据。

它并不会丢失-运行后立即显示var_dump() ->fetch()表明它只是没有从数据库中获取数据。 我转储了该代码产生的语句,然后自己运行了该语句,并在所有行中获取了数据。

这里发生了什么?

没关系。 这里发生的事情与两个表的内容有关:client_details和client_nextofkin。

这两个表都包含标记为“地址”和“电话”的字段,并且由于联系方式表之后的亲属表的下一个进入联接,因此这些字段在我的结果集中被覆盖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM