HasManyRelation
extends Relation
in package
Implements has-many relationship logic.
Table of Contents
Properties
- $_parent : Model
- $_pdo : PDO
- $_relatedModel : string
- $_foreignKey : string
- $_localKey : string
Methods
- __construct() : mixed
- Constructor
- eagerLoad() : void
- Eager load relations for multiple models.
- getRelatedModel() : string
- Get the related model class name.
- handleDependent() : void
- Handle dependent cascade when parent is destroyed.
- load() : array<string|int, mixed>
- Load the related models.
Properties
$_parent
protected
Model
$_parent
$_pdo
protected
PDO
$_pdo
$_relatedModel
protected
string
$_relatedModel
$_foreignKey
private
string
$_foreignKey
$_localKey
private
string
$_localKey
Methods
__construct()
Constructor
public
__construct(PDO $pdo, Model $parent, string $relatedModel, string $foreignKey[, string $localKey = 'id' ]) : mixed
Parameters
- $pdo : PDO
-
Database connection
- $parent : Model
-
Parent model instance
- $relatedModel : string
-
Related model class name
- $foreignKey : string
-
Foreign key column name on related table
- $localKey : string = 'id'
-
Local key column name
eagerLoad()
Eager load relations for multiple models.
public
eagerLoad(array<string|int, mixed> $models) : void
Parameters
- $models : array<string|int, mixed>
-
Array of parent models
getRelatedModel()
Get the related model class name.
public
getRelatedModel() : string
Return values
stringhandleDependent()
Handle dependent cascade when parent is destroyed.
public
handleDependent(DependentStrategy $strategy) : void
Parameters
- $strategy : DependentStrategy
Tags
load()
Load the related models.
public
load() : array<string|int, mixed>