示例#1
0
文件: Facade.php 项目: ryjkov/redbean
 /**
  * Mass Bean Export function.
  * Exports all beans specified in the first argument.
  *
  * @static
  * @param  array $beans collection of beans to be exported
  *
  * @return array Array containing sub-arrays representing beans
  */
 public static function exportAll($beans, $recursively = false)
 {
     if ($recursively) {
         if (!self::$exporter) {
             self::$exporter = new RedBean_Plugin_BeanExport(self::$toolbox);
             self::$exporter->loadSchema();
         }
         return self::$exporter->export($beans);
     } else {
         $array = array();
         foreach ($beans as $bean) {
             if ($bean instanceof RedBean_OODBBean) {
                 $array[] = $bean->export();
             }
         }
         return $array;
     }
 }
示例#2
0
文件: n1test.php 项目: ryjkov/redbean
$v3 = R::load('village', $v3->getID());
class ExportBeanFormatter extends RedBean_DefaultBeanFormatter
{
    public function getAlias($type)
    {
        if ($type == 'universe') {
            return 'world';
        } else {
            return $type;
        }
    }
}
R::$toolbox->getWriter()->setBeanFormatter(new ExportBeanFormatter());
$e->loadSchema();
//print_r($e->export($v2));
$export = $e->export($v2);
$out = json_encode($export);
$expected = '{"2":{"id":"2","name":"Sandy winds","world_id":null,"universe_id":"1","universe":{"1":{"id":"1","name":"Middle Earth","ownVillage":{"1":{"id":"1","name":"Ole Town","world_id":"1","universe_id":null,"world":{"1":null},"ownBuilding":{"1":{"id":"1","kind":"pub","village_id":"1","village":{"1":null},"ownAmulet":{"1":{"id":"1","name":"4","building_id":"1","building":{"1":null}}}},"2":{"id":"2","kind":"tower","village_id":"1","village":{"1":null},"ownAmulet":[]}},"sharedArmy":[]}}}},"ownBuilding":{"3":{"id":"3","kind":"mill","village_id":"2","village":{"2":null},"ownAmulet":[]},"4":{"id":"4","kind":"shed","village_id":"2","village":{"2":null},"ownAmulet":[]},"5":{"id":"5","kind":"shop","village_id":"2","village":{"2":null},"ownAmulet":{"2":{"id":"2","name":"3","building_id":"5","building":{"5":null}}}}},"sharedArmy":{"1":{"id":"1","name":"Army 1","sharedVillage":{"2":null}},"2":{"id":"2","name":"Army 2","sharedVillage":{"2":null,"3":{"id":"3","name":"Autumn Hill","world_id":null,"universe_id":null,"ownBuilding":{"6":{"id":"6","kind":"farm","village_id":"3","village":{"3":null},"ownAmulet":{"3":{"id":"3","name":"1","building_id":"6","building":{"6":null}},"4":{"id":"4","name":"2","building_id":"6","building":{"6":null}}}}},"sharedArmy":{"2":null}}}}}}}';
asrt(preg_replace("/\\W/", "", trim($out)), preg_replace("/\\W/", "", trim($expected)));
$export = R::exportAll($v2, true);
$out = json_encode($export);
asrt(preg_replace("/\\W/", "", trim($out)), preg_replace("/\\W/", "", trim($expected)));
testpack('Test foreign keys');
droptables();
$book = R::dispense('book');
$page = R::dispense('page');
$cover = R::dispense('cover');
list($g1, $g2) = R::dispense('genre', 2);
$g1->name = '1';
$g2->name = '2';
$book->ownPage = array($page);