示例#1
0
 /**
  * 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();
 }
示例#2
0
 /**
  * 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();
 }
示例#3
0
 /**
  * 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();
 }
示例#4
0
 /**
  * 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;
 }