当前位置: 首页>>代码示例>>PHP>>正文


PHP R::storeAll方法代码示例

本文整理汇总了PHP中R::storeAll方法的典型用法代码示例。如果您正苦于以下问题:PHP R::storeAll方法的具体用法?PHP R::storeAll怎么用?PHP R::storeAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在R的用法示例。


在下文中一共展示了R::storeAll方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: addItemToDB

function addItemToDB($filename, $categories)
{
    $itemData = json_decode(file_get_contents(__DIR__ . "/../data/items/{$filename}"), true);
    $itemData = array_map(function ($x) use($categories) {
        $x['_type'] = 'item';
        $x['shop'] = R::findOne('shop', 'reference = ?', [$x['shopReference']]);
        unset($x['shopReference']);
        foreach ($categories as $cat) {
            if (strtolower($x['category']) === strtolower($cat['name'])) {
                $x['category'] = $cat;
                break;
            }
        }
        return $x;
    }, $itemData);
    $items = R::dispense($itemData);
    foreach ($items as $item) {
        R::storeAll($items);
    }
}
开发者ID:darwish,项目名称:skyhigh,代码行数:20,代码来源:generate-db.php

示例2: json_decode

        exit;
    }
} else {
    if (isset($_POST) && count($_POST) > 0) {
        // push 模式 part 2:從手機上傳送資料給伺服器
        if (isset($_POST["logs"]) && isset($_POST["uuid"])) {
            $uuid = $_POST["uuid"];
            $logs_ary = json_decode($_POST["logs"]);
        } else {
            exit;
        }
        //print_r($logs_ary);
        if (count($logs_ary) > 1) {
            $log_beans = R::dispense("log", count($logs_ary));
            foreach ($logs_ary as $i => $log) {
                $log_beans[$i]->uuid = $uuid;
                $log_beans[$i]->import($log);
            }
            R::storeAll($log_beans);
        } else {
            if (count($logs_ary) === 1) {
                $log_bean = R::dispense("log");
                $log_bean->uuid = $uuid;
                $log_bean->import($logs_ary);
                R::store($log_bean);
            }
        }
        //sync_complete($uuid, "push");
        jsonp_callback(true);
    }
}
开发者ID:pulipulichen,项目名称:voc4fun-server,代码行数:31,代码来源:sync.php

示例3: testOneToOne

 /**
  * Test limited support for 1-to-1 associations.
  * 
  * @return void
  */
 public function testOneToOne()
 {
     testpack('Testing one-to-ones');
     $author = R::dispense('author')->setAttr('name', 'a');
     $bio = R::dispense('bio')->setAttr('name', 'a');
     R::storeAll(array($author, $bio));
     $id1 = $author->id;
     $author = R::dispense('author')->setAttr('name', 'b');
     $bio = R::dispense('bio')->setAttr('name', 'b');
     R::storeAll(array($author, $bio));
     $id2 = $author->id;
     list($a, $b) = R::loadMulti('author,bio', $id1);
     asrt($a->name, $b->name);
     asrt($a->name, 'a');
     list($a, $b) = R::loadMulti('author,bio', $id2);
     asrt($a->name, $b->name);
     asrt($a->name, 'b');
     list($a, $b) = R::loadMulti(array('author', 'bio'), $id1);
     asrt($a->name, $b->name);
     asrt($a->name, 'a');
     list($a, $b) = R::loadMulti(array('author', 'bio'), $id2);
     asrt($a->name, $b->name);
     asrt($a->name, 'b');
     asrt(is_array(R::loadMulti(NULL, 1)), TRUE);
     asrt(count(R::loadMulti(NULL, 1)) === 0, TRUE);
 }
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:31,代码来源:Association.php

示例4: install


//.........这里部分代码省略.........
        $previewimg = 'web/images/module/idiomswitcher.png';
        $langblock = $this->layout_model->createModule('Language Selection', 'crm/lang_lblock', NULL, $previewimg);
        $langblock->owner = $account_admin;
        R::store($langblock);
        // Register featuresearch block
        $previewimg = 'web/images/module/featuresearch.png';
        $searchblock = $this->layout_model->createModule('Feature Search', 'openlayers/featuresearch_lblock', 'olmap', $previewimg);
        $searchblock->owner = $account_admin;
        R::store($searchblock);
        // Register Google Maps Api module
        $modgmapsapi = $this->layout_model->createModule('Load Google Maps API', 'openlayers/modgmapsapiv3_lblock');
        $modgmapsapi->owner = $account_admin;
        R::store($modgmapsapi);
        // Register gefeaturesearch block
        $previewimg = 'web/images/module/gefeaturesearch.png';
        $gesearchblock = $this->layout_model->createModule('Google Earth Search', 'googleearth/gefeaturesearch_lblock', 'gemap', $previewimg);
        $gesearchblock->owner = $account_admin;
        R::store($gesearchblock);
        // Create layout
        $layout_public = $this->layout_model->create('public', 'layout/publicfullscreen2');
        $layout_public->owner = $account_admin;
        R::store($layout_public);
        // Create public layout slots
        $pslot1 = $this->layout_model->createSlot('slot1', $layout_public);
        $pslot2 = $this->layout_model->createSlot('slot2', $layout_public);
        $pslot3 = $this->layout_model->createSlot('slot3', $layout_public);
        $pslot4 = $this->layout_model->createSlot('slot4', $layout_public);
        $pslot5 = $this->layout_model->createSlot('slot5', $layout_public);
        $pslot1->owner = $account_admin;
        $pslot2->owner = $account_admin;
        $pslot3->owner = $account_admin;
        $pslot4->owner = $account_admin;
        $pslot5->owner = $account_admin;
        R::storeAll(array($pslot1, $pslot2, $pslot3, $pslot4, $pslot5));
        // Create module layout
        $layout_mod = $this->layout_model->create('module', 'layout/module');
        $layout_mod->owner = $account_admin;
        R::store($layout_mod);
        // Create module layout slots
        $mslot1 = $this->layout_model->createSlot('slot1', $layout_mod);
        $mslot2 = $this->layout_model->createSlot('slot2', $layout_mod);
        $mslot3 = $this->layout_model->createSlot('slot3', $layout_mod);
        $mslot1->owner = $account_admin;
        $mslot2->owner = $account_admin;
        $mslot3->owner = $account_admin;
        R::storeAll(array($mslot1, $mslot2, $mslot3));
        // Create layout blocks
        $lblock2 = $this->layout_model->createBlock('authblock', $authblock, 1);
        $lblock2->owner = $account_admin;
        R::storeAll(array($lblock2));
        // Create tickets layout block
        $lblock3 = $this->layout_model->createBlock('tickets', $ticketsblock, 2);
        $lblock3->owner = $account_admin;
        R::storeAll(array($lblock3));
        // Create layerswitcher layout block
        $lblock4 = $this->layout_model->createBlock('layerswitcher1', $layerswitcherblock, 3, '', 1);
        $lblock4->owner = $account_admin;
        R::storeAll(array($lblock4));
        // Create layout blocks
        $footerblock = $this->layout_model->createBlock('footerblock', $footermod, 1);
        $footerblock->owner = $account_admin;
        $creditsblock = $this->layout_model->createBlock('creditsblock', $creditsmod, 2);
        $creditsblock->owner = $account_admin;
        R::storeAll(array($footerblock, $creditsblock));
        // Create language blocks
        $lblock5 = $this->layout_model->createBlock('langblock', $langblock, 3);
开发者ID:FaddliLWibowo,项目名称:MapIgniter,代码行数:67,代码来源:database_model.php

示例5: testEmbeddedSQLPart2

 /**
  * More variations...
  * 
  * @return void
  */
 public function testEmbeddedSQLPart2()
 {
     list($book1, $book2, $book3) = R::dispense('book', 3);
     $book1->position = 1;
     $book2->position = 2;
     $book3->position = 3;
     $shelf = R::dispense('shelf');
     $shelf->ownBook = array($book1, $book2, $book3);
     $id = R::store($shelf);
     $shelf = R::load('shelf', $id);
     $books = $shelf->with(' ORDER BY position ASC ')->ownBook;
     $book1 = array_shift($books);
     asrt((int) $book1->position, 1);
     $book2 = array_shift($books);
     asrt((int) $book2->position, 2);
     $book3 = array_shift($books);
     asrt((int) $book3->position, 3);
     $books = $shelf->with(' ORDER BY position DESC ')->ownBook;
     $book1 = array_shift($books);
     asrt((int) $book1->position, 3);
     $book2 = array_shift($books);
     asrt((int) $book2->position, 2);
     $book3 = array_shift($books);
     asrt((int) $book3->position, 1);
     //R::debug(1);
     $shelf = R::load('shelf', $id);
     $books = $shelf->with(' AND position > 2 ')->ownBook;
     asrt(count($books), 1);
     $shelf = R::load('shelf', $id);
     $books = $shelf->with(' AND position < ? ', array(3))->ownBook;
     asrt(count($books), 2);
     $shelf = R::load('shelf', $id);
     $books = $shelf->with(' AND position = 1 ')->ownBook;
     asrt(count($books), 1);
     $shelf = R::load('shelf', $id);
     $books = $shelf->withCondition(' position > -1 ')->ownBook;
     asrt(count($books), 3);
     // With-condition should not affect storing
     $shelf = R::load('shelf', $id);
     $books = $shelf->with(' AND position = 1 ')->ownBook;
     asrt(count($books), 1);
     asrt(count($shelf->ownBook), 1);
     $book = reset($shelf->ownBook);
     $book->title = 'Trees and other Poems';
     R::store($shelf);
     $books = $shelf->withCondition(' position > -1 ')->ownBook;
     asrt(count($books), 3);
     asrt(count($shelf->ownBook), 3);
     $shelf = R::load('shelf', $id);
     $books = $shelf->with(' AND position = 1 ')->ownBook;
     // Also with trashing -- just trash one!
     $shelf->ownBook = array();
     R::store($shelf);
     $books = $shelf->withCondition(' position > -1 ')->ownBook;
     asrt(count($books), 2);
     // With should cause a reload of a list
     $shelf = R::load('shelf', $id);
     $books = $shelf->with(' AND position = 2 ')->ownBook;
     asrt(count($books), 1);
     $books = $shelf->withCondition(' position > -1 ')->ownBook;
     asrt(count($books), 2);
     $book = reset($books);
     $book->title = 'Venetian Music';
     // Should not affect storage (fact that we used with twice, unsetting prop)
     R::store($shelf);
     $shelf = R::load('shelf', $id);
     asrt(count($shelf->ownBook), 2);
     // Alias
     list($game1, $game2, $game3) = R::dispense('game', 3);
     list($t1, $t2, $t3) = R::dispense('team', 3);
     $t1->name = 'Bats';
     $t2->name = 'Tigers';
     $t3->name = 'Eagles';
     $game1->name = 'a';
     $game1->team1 = $t1;
     $game1->team2 = $t2;
     $game2->name = 'b';
     $game2->team1 = $t1;
     $game2->team2 = $t3;
     $game3->name = 'c';
     $game3->team1 = $t2;
     $game3->team2 = $t3;
     R::storeAll(array($game1, $game2, $game3));
     $team1 = R::load('team', $t1->id);
     $team2 = R::load('team', $t2->id);
     $team3 = R::load('team', $t3->id);
     asrt(count($team1->alias('team1')->ownGame), 2);
     asrt(count($team2->alias('team1')->ownGame), 1);
     $team1 = R::load('team', $t1->id);
     $team2 = R::load('team', $t2->id);
     asrt(count($team1->alias('team2')->ownGame), 0);
     asrt(count($team2->alias('team2')->ownGame), 1);
     asrt(count($team3->alias('team1')->ownGame), 0);
     $team3 = R::load('team', $t3->id);
     asrt(count($team3->alias('team2')->ownGame), 2);
//.........这里部分代码省略.........
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:101,代码来源:With.php

示例6: json_encode

    echo json_encode(['result' => 'failed', 'error' => 'invalid post data']);
    die;
}
// Insert
R::addDatabase('wechat_csc', $GLOBALS['db_wechat_csc_url'], $GLOBALS['db_wechat_csc_user'], $GLOBALS['db_wechat_csc_pass']);
R::selectDatabase('wechat_csc');
if (!R::testConnection()) {
    exit('DB failed' . PHP_EOL);
}
R::freeze(true);
// Insert
try {
    $surveys = R::getRedBean()->dispense('wxcsc_survey', count($answers));
    for ($i = 0; $i < count($answers); $i++) {
        list($q, $a) = explode(':', $answers[$i]);
        $surveys[$i]->survey_id = $survey_id;
        $surveys[$i]->username = $user_name;
        $surveys[$i]->question_id = $q;
        $surveys[$i]->answer = $a;
    }
    $ids = R::storeAll($surveys);
} catch (Exception $e) {
    header('Content-type:text/json;charset=utf-8');
    echo json_encode(['result' => 'failed', 'error' => 'db error wechat', 'details' => $e->getMessage()]);
    die;
}
R::close();
// Return
header('Content-type:text/json;charset=utf-8');
echo json_encode(['result' => 'true']);
die;
开发者ID:adexbn,项目名称:gds_wechat,代码行数:31,代码来源:survey_create_csc.php

示例7: testDriver

 /**
  * Test the database driver and low level functions.
  * 
  * @return void
  */
 public function testDriver()
 {
     $currentDriver = $this->currentlyActiveDriverID;
     R::store(R::dispense('justabean'));
     $adapter = new TroubleDapter(R::$toolbox->getDatabaseAdapter()->getDatabase());
     $adapter->setSQLState('HY000');
     $writer = new RedBean_QueryWriter_SQLiteT($adapter);
     $redbean = new RedBean_OODB($writer);
     $toolbox = new RedBean_ToolBox($redbean, $adapter, $writer);
     // We can only test this for a known driver...
     if ($currentDriver === 'sqlite') {
         try {
             $redbean->find('bean');
             pass();
         } catch (Exception $e) {
             var_dump($e->getSQLState());
             fail();
         }
     }
     $adapter->setSQLState(-999);
     try {
         $redbean->find('bean');
         fail();
     } catch (Exception $e) {
         pass();
     }
     $beanA = R::dispense('bean');
     $beanB = R::dispense('bean');
     R::storeAll(array($beanA, $beanB));
     $associationManager = new RedBean_AssociationManager($toolbox);
     $adapter->setSQLState('HY000');
     // We can only test this for a known driver...
     if ($currentDriver === 'sqlite') {
         try {
             $associationManager->areRelated($beanA, $beanB);
             pass();
         } catch (Exception $e) {
             fail();
         }
     }
     $adapter->setSQLState(-999);
     try {
         $associationManager->areRelated($beanA, $beanA);
         fail();
     } catch (Exception $e) {
         pass();
     }
     try {
         $redbean->wipe('justabean');
         fail();
     } catch (Exception $e) {
         pass();
     }
     $toolbox = R::$toolbox;
     $adapter = $toolbox->getDatabaseAdapter();
     $writer = $toolbox->getWriter();
     $redbean = $toolbox->getRedBean();
     $pdo = $adapter->getDatabase();
     $page = $redbean->dispense("page");
     try {
         $adapter->exec("an invalid query");
         fail();
     } catch (RedBean_Exception_SQL $e) {
         pass();
     }
     // Special data type description should result in magic number 99 (specified)
     if ($currentDriver == 'mysql') {
         asrt($writer->code(RedBean_QueryWriter_MySQL::C_DATATYPE_SPECIAL_DATE), 99);
     }
     if ($currentDriver == 'pgsql') {
         asrt($writer->code(RedBean_QueryWriter_PostgreSQL::C_DATATYPE_SPECIAL_DATE), 99);
     }
     if ($currentDriver == 'CUBRID') {
         asrt($writer->code(RedBean_QueryWriter_CUBRID::C_DATATYPE_SPECIAL_DATE), 99);
     }
     asrt((int) $adapter->getCell("SELECT 123"), 123);
     $page->aname = "my page";
     $id = (int) $redbean->store($page);
     asrt((int) $page->id, 1);
     asrt((int) $pdo->GetCell("SELECT count(*) FROM page"), 1);
     asrt($pdo->GetCell("SELECT aname FROM page LIMIT 1"), "my page");
     asrt((int) $id, 1);
     $page = $redbean->load("page", 1);
     asrt($page->aname, "my page");
     asrt((bool) $page->getMeta("type"), TRUE);
     asrt(isset($page->id), TRUE);
     asrt($page->getMeta("type"), "page");
     asrt((int) $page->id, $id);
 }
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:94,代码来源:Database.php

示例8: testBatchAliasLoadAll

 /**
  * Test batch alias loadAll.
  * 
  * @return void
  */
 public function testBatchAliasLoadAll()
 {
     $ids = R::storeAll(R::dispense('page', 2));
     $pages = R::loadAll('page', $ids);
     asrt(is_array($pages), true);
     asrt(count($pages), 2);
     asrt($pages[$ids[0]] instanceof RedBean_OODBBean, true);
 }
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:13,代码来源:Batch.php

示例9: testPreloadingVariationsAndCache2

 /**
  * Test variations and cache 2.
  * 
  * @return void
  */
 public function testPreloadingVariationsAndCache2()
 {
     R::$writer->setUseCache(FALSE);
     $villages = R::dispense('village', 3);
     foreach ($villages as $v) {
         $v->ownBuilding = R::dispense('building', 3);
     }
     foreach ($villages as $v) {
         foreach ($v->ownBuilding as $b) {
             $b->ownFurniture = R::dispense('furniture', 2);
         }
     }
     $armies = R::dispense('army', 3);
     $villages[0]->sharedArmy = array($armies[1], $armies[2]);
     $villages[1]->sharedArmy = array($armies[0], $armies[1]);
     $villages[2]->sharedArmy = array($armies[2]);
     $soldiers = R::dispense('soldier', 4);
     $armies[0]->sharedSoldier = array($soldiers[0], $soldiers[1], $soldiers[2]);
     $armies[1]->sharedSoldier = array($soldiers[2], $soldiers[1]);
     $armies[2]->sharedSoldier = array($soldiers[2]);
     $counter = 0;
     foreach ($villages as $v) {
         $v->name = $counter++;
     }
     $counter = 0;
     foreach ($armies as $a) {
         $a->name = $counter++;
     }
     $counter = 0;
     foreach ($soldiers as $s) {
         $s->name = $counter++;
     }
     $buildings = R::dispense('building', 4);
     $villages[0]->ownBuilding = array($buildings[0]);
     $villages[1]->ownBuilding = array($buildings[1], $buildings[2]);
     $villages[2]->ownBuilding = array($buildings[3]);
     $counter = 0;
     foreach ($buildings as $b) {
         $b->name = $counter++;
     }
     $books = R::dispense('book', 5);
     $counter = 0;
     foreach ($books as $b) {
         $b->name = $counter++;
     }
     $buildings[0]->ownBook = array($books[0], $books[1]);
     $buildings[1]->ownBook = array($books[2]);
     $buildings[2]->ownBook = array($books[3], $books[4]);
     $world = R::dispense('world');
     $world->name = 'w1';
     $villages[1]->world = $world;
     R::storeAll($villages);
     $towns = R::find('village');
     $counter = 0;
     R::each($towns, array('sharedArmy' => 'army', 'sharedArmy.sharedSoldier' => array('soldier', array(' ORDER BY soldier.name DESC ', array())), 'ownBuilding' => array('building', array(' ORDER BY building.name DESC ', array())), 'ownBuilding.ownBook' => 'book', 'world'), function ($t, $a, $s, $b, $x, $w) use(&$counter) {
         if ($counter === 0) {
             asrt($w, NULL);
             asrt((string) $t->name, '0');
             asrt(count($t->sharedArmy), 2);
             $list = array();
             foreach ($a as $item) {
                 $list[] = $item->name;
             }
             sort($list);
             asrt(implode(',', $list), '1,2');
             $list = array();
             foreach ($s as $item) {
                 $list[] = $item->name;
             }
             asrt(implode(',', $list), '2,1');
             $list = array();
             foreach ($b as $item) {
                 $list[] = $item->name;
             }
             sort($list);
             asrt(implode(',', $list), '0');
             $list = array();
             foreach ($x as $item) {
                 $list[] = $item->name;
             }
             sort($list);
             asrt(implode(',', $list), '0,1');
             $first = reset($a);
             asrt($first->getMeta('type'), 'army');
             $first = reset($s);
             asrt($first->getMeta('type'), 'soldier');
             $first = reset($b);
             asrt($first->getMeta('type'), 'building');
             $first = reset($x);
             asrt($first->getMeta('type'), 'book');
         } elseif ($counter === 1) {
             asrt($w->name, 'w1');
             asrt((string) $t->name, '1');
             asrt(count($t->sharedArmy), 2);
             $list = array();
//.........这里部分代码省略.........
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:101,代码来源:Preloading.php

示例10: testMultiDeleteUpdate

 /**
  * Test trashAll().
  */
 public function testMultiDeleteUpdate()
 {
     testpack('test multi delete and multi update');
     $beans = R::dispenseLabels('bean', array('a', 'b'));
     $ids = R::storeAll($beans);
     asrt((int) R::count('bean'), 2);
     R::trashAll(R::batch('bean', $ids));
     asrt((int) R::count('bean'), 0);
     testpack('test assocManager check');
     $rb = new RedBean_OODB(R::$writer);
     try {
         $rb->getAssociationManager();
         fail();
     } catch (RedBean_Exception_Security $e) {
         pass();
     }
 }
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:20,代码来源:Misc.php

示例11: testShadow

 /**
  * Switching aliases (->alias) should not change other list during
  * storage.
  * 
  * @return void
  */
 public function testShadow()
 {
     list($project1, $project2) = R::dispense('project', 2);
     list($irene, $ilse) = R::dispense('person', 2);
     $project1->developer = $ilse;
     $project1->designer = $irene;
     $project2->developer = $ilse;
     R::storeAll(array($project1, $project2));
     $ilse = R::load('person', $ilse->id);
     $irene = R::load('person', $irene->id);
     asrt(count($ilse->alias('developer')->ownProject), 2);
     asrt(count($ilse->alias('designer')->ownProject), 0);
     R::store($ilse);
     $ilse = R::load('person', $ilse->id);
     $irene = R::load('person', $irene->id);
     asrt(count($ilse->alias('designer')->ownProject), 0);
     asrt(count($ilse->alias('developer')->ownProject), 2);
     R::storeAll(array($ilse, $irene));
     $ilse = R::load('person', $ilse->id);
     $irene = R::load('person', $irene->id);
     asrt(count($ilse->alias('designer')->ownProject), 0);
     asrt(count($ilse->alias('developer')->ownProject), 2);
     asrt(count($irene->alias('designer')->ownProject), 1);
     asrt(count($irene->alias('developer')->ownProject), 0);
     R::storeAll(array($ilse, $irene));
     $ilse = R::load('person', $ilse->id);
     $irene = R::load('person', $irene->id);
     asrt(count($ilse->alias('designer')->ownProject), 0);
     asrt(count($ilse->alias('developer')->ownProject), 2);
     asrt(count($irene->alias('designer')->ownProject), 1);
     asrt(count($irene->alias('developer')->ownProject), 0);
 }
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:38,代码来源:Aliasing.php

示例12: testAssociationRenaming

 /**
  * test emulation via association renaming
  * 
  * @return void
  */
 public function testAssociationRenaming()
 {
     list($p1, $p2, $p3) = R::dispense('painting', 3);
     list($m1, $m2, $m3) = R::dispense('museum', 3);
     $p1->name = 'painting1';
     $p2->name = 'painting2';
     $p3->name = 'painting3';
     $m1->thename = 'a';
     $m2->thename = 'b';
     $m3->thename = 'c';
     R::renameAssociation('museum_painting', 'exhibited');
     // Also test array syntax
     R::renameAssociation(array('museum_museum' => 'center'));
     $m1->link('center', array('name' => 'History Center'))->museum2 = $m2;
     $m1->link('exhibited', '{"from":"2014-02-01","til":"2014-07-02"}')->painting = $p3;
     $m2->link('exhibited', '{"from":"2014-07-03","til":"2014-10-02"}')->painting = $p3;
     $m3->link('exhibited', '{"from":"2014-02-01","til":"2014-07-02"}')->painting = $p1;
     $m2->link('exhibited', '{"from":"2014-02-01","til":"2014-07-02"}')->painting = $p2;
     R::storeAll(array($m1, $m2, $m3));
     list($m1, $m2, $m3) = array_values(R::findAll('museum', ' ORDER BY thename ASC'));
     asrt(count($m1->sharedMuseum), 1);
     asrt(count($m1->sharedPainting), 1);
     asrt(count($m2->sharedPainting), 2);
     asrt(count($m3->sharedPainting), 1);
     $p3 = reset($m1->sharedPainting);
     asrt(count($p3->ownExhibited), 2);
     asrt(count($m2->ownExhibited), 2);
     R::storeAll(array($m1, $m2, $m3));
     list($m1, $m2, $m3) = array_values(R::findAll('museum', ' ORDER BY thename ASC'));
     asrt(count($m1->sharedPainting), 1);
     asrt(count($m2->sharedPainting), 2);
     asrt(count($m3->sharedPainting), 1);
     $p3 = reset($m1->sharedPainting);
     asrt(count($p3->ownExhibited), 2);
     $paintings = $m2->sharedPainting;
     foreach ($paintings as $painting) {
         if ($painting->name === 'painting2') {
             pass();
             $paintingX = $painting;
         }
     }
     unset($m2->sharedPainting[$paintingX->id]);
     R::store($m2);
     $m2 = R::load('museum', $m2->id);
     asrt(count($m2->sharedPainting), 1);
     $left = reset($m2->sharedPainting);
     asrt($left->name, 'painting3');
     asrt(count($m2->ownExhibited), 1);
     $exhibition = reset($m2->ownExhibited);
     asrt($exhibition->from, '2014-07-03');
     asrt($exhibition->til, '2014-10-02');
 }
开发者ID:daviddeutsch,项目名称:redbean-adaptive,代码行数:57,代码来源:Relations.php


注:本文中的R::storeAll方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。