protected function getAssociationTable()
{
if ($this->_association === null) {
$gateway = $this->getSourceRecord()->getRecordGateway();
$conn = $this->getSourceRecord()->getDbConnection();
//table name may include the fk column name separated with a dot.
$table = explode('.', $this->getContext()->getAssociationTable());
if (count($table) > 1) {
$columns = preg_replace('/^\\((.*)\\)/', '\\1', $table[1]);
$this->_association_columns = preg_split('/\\s*[, ]\\*/', $columns);
}
$this->_association = $gateway->getTableInfo($conn, $table[0]);
}
return $this->_association;
}