示例#1
0
 public function getParents()
 {
     if (empty($this->parents)) {
         $mapper = DbSingleton::getParentChildrenMapper();
         $parentIDs = $mapper->findParents($this->id);
         $pMapper = DbSingleton::getParentsMapper();
         $parentsArray = $pMapper->findAll(array_map(function ($el) {
             return $el['parent_id'];
         }, $parentIDs));
         foreach ($parentsArray as $parent) {
             $newParent = Parents::createObj($parent);
             $this->parents[] = $newParent;
         }
     }
     return $this->parents;
 }
示例#2
0
$db = \Sasik\Db\DbSingleton::getDb();
/**
 * ОСТОРОЖНО
 */
foreach (['children', 'parents', 'tokens', 'children_to_parents'] as $table) {
    $query = $db->createQueryBuilder();
    $query->delete($table)->execute();
    //    $db->fetchAll('DELETE FROM ' . $table );
}
//$db->delete('children', []);
//$db->delete('parents', []);
//$db->delete('tokens', []);
//$db->delete('children_to_parents', []);
$childrens = [Children::createObj(['name' => 'Children' . uniqid()]), Children::createObj(['name' => 'TestChildren']), Children::createObj(['name' => 'Children' . uniqid()]), Children::createObj(['name' => 'Children' . uniqid()]), Children::createObj(['name' => 'Children' . uniqid()])];
saveAll($childrens);
$parents = [Parents::createObj(['login' => 'Parent' . uniqid(), 'password' => uniqid()]), Parents::createObj(['login' => 'TestParent', 'password' => 'ParentPass']), Parents::createObj(['login' => 'Parent' . uniqid(), 'password' => uniqid()]), Parents::createObj(['login' => 'Parent' . uniqid(), 'password' => uniqid()])];
saveAll($parents);
$tokens = addTokens($parents);
saveAll($tokens);
addRelation($parents, $childrens);
function addTokens($parents)
{
    $tokens = [];
    foreach ($parents as $parent) {
        $tokens[] = Tokens::createObj(['parent_id' => $parent->id, 'token' => uniqid('token-'), 'type' => rand(0, 1)]);
    }
    return $tokens;
}
function saveAll(array $collection)
{
    foreach ($collection as $el) {