OptionHelper.php 1.25 KB
<?php

namespace common\models;

use frontend\models\Options;
use Yii;
use yii\base\InvalidParamException;
use yii\base\Model;

class OptionHelper extends Model
{
    const OPTION_OBJECT = 1;

    const OPTION_ARRAY = 2;

    const OPTION_VALUE = 3;

    public function getRule($return = 3)
    {
        $result = Option::find()->where(['name' => 'rules'])->with('value');
        if($return == self::OPTION_OBJECT) {
            return $result->one();
        } elseif($return == self::OPTION_ARRAY) {
            return $result->asArray()->one();
        } elseif($return == self::OPTION_VALUE) {
            return $result->one()->value->value;
        } else {
            throw new InvalidParamException(Yii::t('app', 'Must be 1-3'));
        }
    }

    public function createOptions($user_id)
    {
        if($rows_delete = \Yii::$app->db->createCommand()->delete('option', ['model' => 'common\models\User', 'model_id' => $user_id])->execute()) {
            Yii::trace( $rows_delete . " rows has been deleted.");
        } else {
            Yii::trace( "No rows has been deleted" );
        }
        Yii::$app->db->createCommand()->batchInsert('option', ['model', 'model_id', 'name', 'template', 'option_pid'], [['common\models\User', $user_id, 'about', '']])
    }

}