[英]Using join with multiple table in zend social engine
我想加入超过 3 个的多个表并删除重复的行。
Sample query for示例查询
$table = Engine_Api::_ ()->getDbtable ( 'topics', 'group' );
$topicselect = $table->select ()->where ( 'group_id = ?', $group_id );
$topics = $table->fetchAll ( $topicselect );
$topicCount = count ( $topics );
$photoTable = Engine_Api::_ ()->getItemTable ( 'group_photo' );
$photoselect = $photoTable->select ()->where ( 'group_id = ?', $group_id );
$photos = $photoTable->fetchAll ( $photoselect );
$photoCount = count ( $photos );
$groupTable = Engine_Api::_ ()->getItemTable ( 'group' );
$groupInfo = $groupTable->info ( 'name' );
$storage = Engine_Api::_ ()->getDbtable ( 'files', 'storage' );
$storage_files = $storage->info ( 'name' );
$groupMembershipTable = Engine_Api::_ ()->getDbtable ( 'membership', 'group' );
$groupMembershipTableName = $groupMembershipTable->info ( 'name' );
$category_table = Engine_Api::_ ()->getDbtable ( 'categories', 'group' );
$categoryInfo = $category_table->info ( 'name' );
$select = $groupTable->select ()->setIntegrityCheck ( false )->from ( array (
'group' => $groupInfo
) )->joinLeft ( array (
'category' => $categoryInfo
), 'category.category_id =group.category_id', array (
'category.title AS categoryname'
) )->joinLeft ( array (
'membership' => $groupMembershipTableName
), "membership.resource_id = group.group_id and membership.user_id= $user_id", array (
) )->joinLeft ( array (
'storage' => $storage_files
), "storage.file_id=group.photo_id", array (
'storage.storage_path'
) )->where ( 'group.group_id = ?', $group_id )->order ( "storage.modified_date DESC" );
// ->group('group.group_id');
$group = $groupTable->fetchAll ( $select );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.