/**
* doExecute
*
* @return void
*/
public function doExecute()
{
$faker = Factory::create();
$users = (new UserMapper())->findColumn('id');
CategoryRecord::resetFieldsCache();
$record = new CategoryRecord();
$ids = array();
foreach (range(1, 30) as $i) {
$record->reset();
$data = new Data();
$data['title'] = $faker->sentence(rand(1, 3));
$data['alias'] = OutputFilter::stringURLSafe($data['title']);
$data['type'] = 'topic';
$data['description'] = $faker->sentence(5);
$data['image'] = $faker->imageUrl();
$data['version'] = rand(1, 50);
$data['topics'] = rand(10, 100);
$data['posts'] = rand(10, 100);
$data['created'] = $faker->dateTime->format(DateTime::FORMAT_SQL);
$data['created_by'] = $faker->randomElement($users);
$data['modified'] = $faker->dateTime->format(DateTime::FORMAT_SQL);
$data['modified_by'] = $faker->randomElement($users);
$data['state'] = $faker->randomElement(array(1, 1, 1, 1, 0, 0));
// Color Image
$params = array('bg_color' => $faker->randomElement($this->colors), 'image_icon' => $faker->randomElement($this->icons));
$data['params'] = json_encode($params);
$record->bind($data->dump());
if ($i > 6) {
$record->setLocation($faker->randomElement($ids), $record::LOCATION_LAST_CHILD);
} else {
$record->setLocation(1, $record::LOCATION_LAST_CHILD);
}
$record->store();
$record->rebuildPath();
$ids[] = $record->id;
$this->command->out('.', false);
}
$this->command->out();
}