public function up()
 {
     $tableOptions = null;
     if ($this->db->driverName === 'mysql') {
         $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB';
     }
     //    * серия карты
     //    * номер карты
     //    * дата выпуска карты
     //    * дата окончания активности карты
     //    * дата использования
     //    * сумма
     //    * статус карты (не активирована/активирована/просрочена)
     $this->createTable('{{%serial}}', ['id' => $this->primaryKey(), 'serial' => $this->string(20)->notNull(), 'release_date' => $this->dateTime()->notNull(), 'duration' => "enum ('" . implode("','", array_keys(Serial::getDurations())) . "') not null"], $tableOptions);
     $this->createIndex('serial_uniq', '{{%serial}}', ['serial'], true);
     $this->createTable('{{%card}}', ['id' => $this->primaryKey(), 'serial_id' => $this->integer()->notNull(), 'number' => $this->integer()->notNull(), 'begin_date' => $this->dateTime()->defaultValue(null), 'end_date' => $this->dateTime()->defaultValue(null), 'amount' => $this->money()->notNull()->defaultValue(0), 'status' => "enum ('" . implode("','", array_keys(Card::getStatuses())) . "') not null default '" . Card::STATUS_NEW . "'"], $tableOptions);
     $this->createIndex('serial_number_uniq', '{{%card}}', ['serial_id', 'number'], true);
     $this->addForeignKey('FK_card_serial', '{{%card}}', 'serial_id', '{{%serial}}', 'id');
 }
Beispiel #2
0
</h2>

    <?php 
$form = ActiveForm::begin();
?>

    <?php 
echo $form->field($formModel, 'serial');
?>

    <?php 
echo $form->field($formModel, 'quantity');
?>

    <?php 
echo $form->field($formModel, 'duration')->dropDownList(Serial::getDurations());
?>

    <div class="form-group">
        <?php 
echo Html::submitButton('Save', ['class' => 'btn btn-primary']);
?>
        <span style="margin-left: 10px;">
            <?php 
echo HTML::a('Отменить', Yii::$app->getUser()->getReturnUrl());
?>
        </span>
    </div>

    <?php 
ActiveForm::end();
Beispiel #3
0
 public function rules()
 {
     return [[['id', 'number'], 'integer'], ['serialSerial', 'string', 'max' => 20], [['serialReleaseDate', 'begin_date', 'end_date'], 'date', 'format' => 'y-m-d'], ['status', 'in', 'range' => array_keys(Card::getStatuses())], ['serialDuration', 'in', 'range' => array_keys(Serial::getDurations())]];
 }