尝试与Zend(SE)一起执行查询

时间:2011-08-15 15:02:42

标签: php zend-framework socialengine

我的数据库上有4个表; 商家,pay_method,花费和transaction_type。

他们都有一个id和一个标题,除了花费(花费其他人的外键和其他字段,如user_id,comment,...)。

我尝试将所有表的所有信息都用于唯一的user_id!

为了执行它,我尝试了一个不运行的小测试:

public function getSpendingsForUser( $userid )
{
    $mercTable = Engine_Api::_()->getDbTable('merchants', 'spendings');
    $mercName = $mercTable->info('name');   

    $table = Engine_Api::_()->getDbTable('spendings', 'spendings');
    $spendName = $table->info('name');

    $select = $table->fetchAll(
        $table->select()
        ->joinLeft($mercName, "$mercName.merchant_id = $spendName.merchant_id", NULL)
        ->where('user_id = ?', $userid)
        ->group('spending_id')
        );
    return $select;

}

在视图文件中:

foreach($this->spendings as $s) {
        var_dump($s->comment);
}

如何正确连接以获取user_id ???

中的所有信息

非常感谢!!!

1 个答案:

答案 0 :(得分:1)

您应该定义不运行以帮助我们帮助您。但我可以告诉你,你可能需要->setIntegrityCheck(false);

$select = $table->fetchAll(
        $table->select()
        ->setIntegrityCheck(false);
        ->joinLeft($mercName, "$mercName.merchant_id = $spendName.merchant_id", NULL)
        ->where('user_id = ?', $userid)
        ->group('spending_id')
        );

加入之前。