0

我的数据库上有 4 个表;商家、支付方式、支出和交易类型。

它们都有一个 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 的所有信息?

非常感谢 !!!

4

1 回答 1

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')
        );

加盟前。

于 2011-08-15T15:32:25.667 回答