PHP Class Bluz\Db\Relations

Author: Anton Shevchuk
Afficher le fichier Open project: bluzphp/framework Class Usage Examples

Protected Properties

Свойство Type Description
$modelClassMap array [ 'Pages' => '\Application\Pages\Table', 'Users' => '\Application\Users\Table', ]
$relations array [ 'Model1:Model2' => ['Model1'=>'foreignKey', 'Model2'=>'primaryKey'], 'Pages:Users' => ['Pages'=>'userId', 'Users'=>'id'], 'PagesTags:Pages' => ['PagesTags'=>'pageId', 'Pages'=>'id'], 'PagesTags:Tags' => ['PagesTags'=>'tagId', 'Tags'=>'id'], 'Pages:Tags' => ['PagesTags'], ]

Méthodes publiques

Méthode Description
addClassMap ( string $model, string $className ) : void Add information about model's classes
createRow ( string $modelName, array $data ) : Row Get information about Table classes
fetch ( array $input ) : array Fetch by Divider
findRelation ( Row $row, string $relation ) : array findRelation
findRelations ( string $modelOne, string $modelTwo, array $keys ) : array Find Relations between two tables
getModelClass ( string $model ) : string Get information about Model classes
getRelations ( string $modelOne, string $modelTwo ) : array | false Get relations
setRelation ( string $modelOne, string $keyOne, string $modelTwo, string $keyTwo ) : void Setup relation between two models
setRelations ( string $modelOne, string $modelTwo, array $relations ) : void Setup multi relations

Method Details

addClassMap() public static méthode

Add information about model's classes
public static addClassMap ( string $model, string $className ) : void
$model string
$className string
Résultat void

createRow() public static méthode

Get information about Table classes
public static createRow ( string $modelName, array $data ) : Row
$modelName string
$data array
Résultat Row

fetch() public static méthode

Fetch by Divider
public static fetch ( array $input ) : array
$input array
Résultat array

findRelation() public static méthode

findRelation
public static findRelation ( Row $row, string $relation ) : array
$row Row
$relation string
Résultat array

findRelations() public static méthode

Find Relations between two tables
public static findRelations ( string $modelOne, string $modelTwo, array $keys ) : array
$modelOne string Table
$modelTwo string Target table
$keys array Keys from first table
Résultat array

getModelClass() public static méthode

Get information about Model classes
public static getModelClass ( string $model ) : string
$model string
Résultat string

getRelations() public static méthode

Get relations
public static getRelations ( string $modelOne, string $modelTwo ) : array | false
$modelOne string
$modelTwo string
Résultat array | false

setRelation() public static méthode

Setup relation between two models
public static setRelation ( string $modelOne, string $keyOne, string $modelTwo, string $keyTwo ) : void
$modelOne string
$keyOne string
$modelTwo string
$keyTwo string
Résultat void

setRelations() public static méthode

Setup multi relations
public static setRelations ( string $modelOne, string $modelTwo, array $relations ) : void
$modelOne string
$modelTwo string
$relations array
Résultat void

Property Details

$modelClassMap protected_oe static_oe property

[ 'Pages' => '\Application\Pages\Table', 'Users' => '\Application\Users\Table', ]
protected static array $modelClassMap
Résultat array

$relations protected_oe static_oe property

[ 'Model1:Model2' => ['Model1'=>'foreignKey', 'Model2'=>'primaryKey'], 'Pages:Users' => ['Pages'=>'userId', 'Users'=>'id'], 'PagesTags:Pages' => ['PagesTags'=>'pageId', 'Pages'=>'id'], 'PagesTags:Tags' => ['PagesTags'=>'tagId', 'Tags'=>'id'], 'Pages:Tags' => ['PagesTags'], ]
protected static array $relations
Résultat array