/** * doExecute * * @return void */ public function doExecute() { $faker = \Faker\Factory::create(); $blogMapper = new DataMapper('blogs'); $authorMapper = new DataMapper('authors'); $users = (new DataMapper('users'))->findAll(); foreach ($blogMapper->findAll() as $blog) { // Is user $randUsers = $faker->randomElements(iterator_to_array($users), rand(1, 3)); $hasOwner = false; foreach ($randUsers as $user) { $data = array(); $data['user'] = $user->id; $data['blog'] = $blog->id; $data['admin'] = $hasOwner ? rand(0, 1) : 1; $data['owner'] = $hasOwner ? 0 : 1; $authorMapper->createOne($data); $hasOwner = true; } // Is Author foreach (range(1, rand(1, 3)) as $row) { $data = array(); $data['blog'] = $blog->id; $data['name'] = $faker->name; $data['description'] = $faker->text(); $data['image'] = 'http://cl.ly/Yapj/397512_301002056764411_3688152576777782947_n.jpg'; $data['website'] = $faker->url; $authorMapper->createOne($data); } } $this->command->out('Author Seeder executed.')->out(); }
/** * doExecute * * @return void */ public function doExecute() { $faker = \Faker\Factory::create(); $blogMapper = new DataMapper('blogs'); $categoryMapper = new DataMapper('categories'); $authorMapper = new DataMapper('authors'); $postMapper = new DataMapper('posts'); $psMappingMapper = new DataMapper('category_post_maps'); $content = file_get_contents(__DIR__ . '/fixtures/testcase.md'); list($introtext, $fulltext) = explode('<!-- {READMORE} -->', $content); $metadesc = $faker->text(); foreach ($blogMapper->findAll() as $blog) { $authors = iterator_to_array($authorMapper->find(['blog' => $blog->id])); $categories = iterator_to_array($categoryMapper->find(['blog' => $blog->id])); // Post foreach (range(1, 30) as $row) { $data = array(); $data['blog'] = $blog->id; $data['type'] = 'post'; $data['title'] = $faker->sentence(rand(3, 8)); $data['alias'] = \Windwalker\Filter\OutputFilter::stringURLSafe($data['title']); $data['introtext'] = $introtext; $data['fulltext'] = $fulltext; $data['metadesc'] = $metadesc; $data['state'] = 1; $data['created'] = $faker->dateTime->format('Y-m-d H:i:s'); $data['modified'] = $faker->dateTime->format('Y-m-d H:i:s'); $data['publish_up'] = ''; $data['publish_down'] = ''; $data['author'] = $faker->randomElement($authors)->id; $data = $postMapper->createOne($data); // Categories foreach ($faker->randomElements($categories, rand(1, 3)) as $category) { $map['category'] = $category->id; $map['post'] = $data['id']; $psMappingMapper->createOne($map); } } // Static foreach (range(1, 3) as $row) { $data = array(); $data['blog'] = $blog->id; $data['type'] = 'static'; $data['title'] = $faker->sentence(rand(3, 8)); $data['alias'] = \Windwalker\Filter\OutputFilter::stringURLSafe($data['title']); $data['introtext'] = $introtext; $data['fulltext'] = $fulltext; $data['metadesc'] = $metadesc; $data['state'] = 1; $data['created'] = $faker->dateTime->format('Y-m-d H:i:s'); $data['modified'] = $faker->dateTime->format('Y-m-d H:i:s'); $data['publish_up'] = ''; $data['publish_down'] = ''; $data['author'] = $faker->randomElement($authors)->id; $data = $postMapper->createOne($data); } } $this->command->out('Post Seeder executed.')->out(); }
/** * doExecute * * @return void */ public function doExecute() { $faker = \Faker\Factory::create(); $blogMapper = new DataMapper('blogs'); $categoryMapper = new DataMapper('categories'); foreach ($blogMapper->findAll() as $blog) { foreach (range(1, rand(3, 6)) as $row) { $data = array(); $data['blog'] = $blog->id; $data['title'] = $faker->sentence(rand(3, 8)); $data['alias'] = \Windwalker\Filter\OutputFilter::stringURLSafe($data['title']); $data['image'] = 'http://unsplash.it/300/200'; $data['state'] = 1; $data['ordering'] = $row; $categoryMapper->createOne($data); } } $this->command->out('Category Seeder executed.')->out(); }
/** * Method to test getDatasetClass(). * * @return void * * @covers Windwalker\DataMapper\AbstractDataMapper::getDatasetClass */ public function testGetAndSetDatasetClass() { $this->instance->setDatasetClass('ArrayObject'); $this->assertEquals('ArrayObject', $this->instance->getDatasetClass()); $this->assertInstanceOf('ArrayObject', $this->instance->findAll('id', 0, 2)); }
/** * Find records without where conditions and return data set. * * Same as `$mapper->find(null, 'id', $start, $limit);` * * @param mixed $order Order sort, can ba string, array or object. * Example: * - 'id ASC' => ORDER BY id ASC * - array('catid DESC', 'id') => ORDER BY catid DESC, id * @param integer $start Limit start number. * @param integer $limit Limit rows. * * @return mixed|DataSet Found rows data set. */ public function findAll($order = null, $start = null, $limit = null) { $this->observers->update('onBeforeFindAll', array($order, $start, $limit)); $dataset = parent::findAll($order, $start, $limit); $this->observers->update('onAfterFindAll', array(&$dataset)); return $dataset; }