PHP Класс Bluz\Db\Relations

Автор: Anton Shevchuk
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$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'], ]

Открытые методы

Метод Описание
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

Описание методов

addClassMap() публичный статический Метод

Add information about model's classes
public static addClassMap ( string $model, string $className ) : void
$model string
$className string
Результат void

createRow() публичный статический Метод

Get information about Table classes
public static createRow ( string $modelName, array $data ) : Row
$modelName string
$data array
Результат Row

fetch() публичный статический Метод

Fetch by Divider
public static fetch ( array $input ) : array
$input array
Результат array

findRelation() публичный статический Метод

findRelation
public static findRelation ( Row $row, string $relation ) : array
$row Row
$relation string
Результат array

findRelations() публичный статический Метод

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
Результат array

getModelClass() публичный статический Метод

Get information about Model classes
public static getModelClass ( string $model ) : string
$model string
Результат string

getRelations() публичный статический Метод

Get relations
public static getRelations ( string $modelOne, string $modelTwo ) : array | false
$modelOne string
$modelTwo string
Результат array | false

setRelation() публичный статический Метод

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
Результат void

setRelations() публичный статический Метод

Setup multi relations
public static setRelations ( string $modelOne, string $modelTwo, array $relations ) : void
$modelOne string
$modelTwo string
$relations array
Результат void

Описание свойств

$modelClassMap защищенное статическое свойство

[ 'Pages' => '\Application\Pages\Table', 'Users' => '\Application\Users\Table', ]
protected static array $modelClassMap
Результат array

$relations защищенное статическое свойство

[ '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
Результат array