コード例 #1
0
ファイル: dmRecordLoremizer.php プロジェクト: vjousse/diem
 protected function getRandomValue($columnName, array $column)
 {
     $column['name'] = $columnName;
     switch ($column['type']) {
         case 'string':
             $val = $this->getStringValForColumn($column);
             break;
         case 'boolean':
             if ('is_active' === $columnName) {
                 $val = (bool) mt_rand(0, 2);
             } else {
                 $val = (bool) mt_rand(0, 1);
             }
             break;
         case 'blob':
         case 'clob':
             if ($this->table->isMarkdownColumn($columnName)) {
                 $val = dmLorem::getMarkdownLorem(1);
             } else {
                 $val = dmLorem::getBigLorem();
             }
             break;
         case 'time':
         case 'timestamp':
         case 'date':
             $val = date("Y-m-d H:i:s", mt_rand(strtotime('-10 year'), time()));
             break;
         case 'year':
             $val = date("Y", mt_rand(strtotime('-10 year'), time()));
             break;
         case 'enum':
             $val = $column['values'][array_rand($column['values'])];
             break;
         case 'integer':
         case 'int':
             $val = mt_rand(0, pow(10, $column['length']) - 1);
             break;
         case 'float':
         case 'decimal':
             $val = mt_rand(0, pow(10, $column['length']) - 1) / pow(10, dmArray::get($column, 'scale', 2));
             break;
         default:
             throw new dmException(sprintf('Diem can not generate random content for %s column', $columnName));
     }
     return $val;
 }