define(\ProcessMaker\Model\Application::class, function(Faker $faker) { $statuses = ['DRAFT', 'TO_DO']; $status = $faker->randomElement($statuses); $statusId = array_search($status, $statuses) + 1; $appNumber = $faker->unique()->numberBetween(1000); return [ 'APP_UID' => G::generateUniqueID(), 'APP_TITLE' => $faker->sentence(3), 'APP_NUMBER' => $appNumber, 'APP_STATUS' => $status, 'APP_STATUS_ID' => $statusId, 'PRO_UID' => G::generateUniqueID(), 'APP_PARALLEL' => 'N', 'APP_INIT_USER' => G::generateUniqueID(), 'APP_CUR_USER' => G::generateUniqueID(), 'APP_PIN' => G::generateUniqueID(), 'APP_CREATE_DATE' => $faker->dateTime(), 'APP_UPDATE_DATE' => $faker->dateTime(), 'APP_INIT_DATE' => $faker->dateTime(), 'APP_DATA' => serialize(['APP_NUMBER' => $appNumber]) ]; }); // Create a delegation with the foreign keys $factory->state(\ProcessMaker\Model\Application::class, 'foreign_keys', function (Faker $faker) { // Create values in the foreign key relations $process = factory(\ProcessMaker\Model\Process::class)->create(); $user = factory(\ProcessMaker\Model\User::class)->create(); // Get other random values $statuses = ['DRAFT', 'TO_DO']; $status = $faker->randomElement($statuses); $statusId = array_search($status, $statuses) + 1; $appNumber = $faker->unique()->numberBetween(1000); return [ 'APP_UID' => G::generateUniqueID(), 'APP_TITLE' => $faker->sentence(3), 'APP_NUMBER' => $appNumber, 'APP_STATUS' => $status, 'APP_STATUS_ID' => $statusId, 'PRO_UID' => $process->PRO_UID, 'APP_PARALLEL' => 'N', 'APP_INIT_USER' => $user->USR_UID, 'APP_CUR_USER' => $user->USR_UID, 'APP_PIN' => G::generateUniqueID(), 'APP_CREATE_DATE' => $faker->dateTime(), 'APP_UPDATE_DATE' => $faker->dateTime(), 'APP_INIT_DATE' => $faker->dateTime(), 'APP_DATA' => serialize(['APP_NUMBER' => $appNumber]) ]; });