- skip to content

# Database Abstraction Layer

### User Tools

- Login

### Site Tools

- Recent changes
- Media Manager
- Sitemap

### Sidebar

##### Resources

- Reference Manual
- User Guide
- The Data Dictionary
- ADOdb-xmlschema
- ADOdb Active Record
- Performance Monitoring
- Date/Time Library
- Session Management Library
- Unsupported Addons
- Coding Standards

##### Supported Databases

- Access
- ADO
- CSV
- Firebird
- Frontbase
- IBM DB2
- Informix
- Interbase
- LDAP
- Microsoft SQL Server
- MySQL
- Netezza
- ODBC
- ODBTP
- Oracle
- PDO
- Postgresql
- SAP ADS
- SAP ASE
- SAP Maxdb
- SAP Sqlanywhere
- Sqlite
- Sybase
- Plain Text
- Visual Foxpro

##### Other

- Feature Comparison Matrix
- Connection Matrix
- Include File Guide

v5:activerecord:classhasmany

# classHasMany

##### Syntax

    void ADODB_Active_Record::classHasMany(
      string $parentTable,
      string $childTable,
      optional string $foreignKey = '',
      optional string $foreignClass = 'ADODB_Active_Record'
    )

## Description

Globally defines a one-to-many relationship. Once defined, the relationship persists for the life of the script.

## Parameters

### $parentTable

The parent table in the relationship

### $childTable

The child table in the relationship

### $foreignKey

If, due to database design constraints, the key field in the child table is not named the same as that of the parent table, specify it here.

### $foreignClass

If the class name for the child table differs from that of the parent, for example there has been some extension of methods, specify it here

————————-

## Usage

    class person extends ADOdb_Active_Record{}
    ADODB_Active_Record::ClassHasMany('person', 'children','person_id');

    $person = new person();
    $person->Load("id=1");
    foreach($person->children as $c) {
        echo " $c->name_first ";
        $c->name_first .= ' K.';
        $c->Save();  ## each child record must be saved individually
    }

v5/activerecord/classhasmany.txt · Last modified: 2016/01/12 17:15 by mnewnham

### Page Tools

- Show pagesource
- Old revisions
- Backlinks
- Rename Page
- Back to top