コード例 #1
0
function expandOptionsInRecordSet( RecordSet $recordSet, ViewInformation $viewInformation ) {
	global
		$dataSet;

	$o = OmegaWikiAttributes::getInstance();

	$recordSet->getStructure()->addAttribute( $o->optionAttributeOption );
	$recordSet->getStructure()->addAttribute( $o->optionAttribute );

	for ( $i = 0; $i < $recordSet->getRecordCount(); $i++ ) {
		$record = $recordSet->getRecord( $i );

		$optionRecordSet = queryRecordSet(
			null,
			$viewInformation->queryTransactionInformation,
			$o->optionAttributeOptionId,
			new TableColumnsToAttributesMapping(
				new TableColumnsToAttribute( array( 'attribute_id' ), $o->optionAttributeId ),
				new TableColumnsToAttribute( array( 'option_mid' ), $o->optionAttributeOption )
			),
			$dataSet->optionAttributeOptions,
			array( 'option_id = ' . $record->optionAttributeOptionId )
		);

		$optionRecord = $optionRecordSet->getRecord( 0 );
		$record->optionAttributeOption = $optionRecord->optionAttributeOption;

		$optionRecordSet = queryRecordSet(
			null,
			$viewInformation->queryTransactionInformation,
			$o->optionAttributeId,
			new TableColumnsToAttributesMapping( new TableColumnsToAttribute( array( 'attribute_mid' ), $o->optionAttribute ) ),
			$dataSet->classAttributes,
			array( 'object_id = ' . $optionRecord->optionAttributeId )
		);
	
		$optionRecord = $optionRecordSet->getRecord( 0 );
		$record->optionAttribute = $optionRecord->optionAttribute;
	}
}