OptionHelper.php
4.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?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" );
}
$rows_insert = Yii::$app->db->createCommand()->batchInsert(
'option',
['model', 'model_id', 'name', 'template'],
[
['common\models\User', $user_id, 'education', '{"template":"empty","params":{"multiple":true}}'],
['common\models\User', $user_id, 'development', '{"template":"empty","params":{"multiple":true}}'],
['common\models\User', $user_id, 'courses', '{"template":"empty","params":{"multiple":true}}'],
['common\models\User', $user_id, 'jobs', '{"template":"empty","params":{"multiple":true}}'],
['common\models\User', $user_id, 'social', '{"template":"empty","params":{"multiple":true}}'],
]
)->execute();
Yii::trace( $rows_insert . " rows has been inserted" );
$parent_rows = Option::find()->where(['model' => 'common\models\User', 'model_id' => $user_id, 'option_pid' => NULL])->indexBy('name')->all();
$rows_insert = Yii::$app->db->createCommand()->batchInsert(
'option',
['model', 'model_id', 'name', 'template', 'option_pid'],
[
['common\models\User', $user_id, 'year_from', '{"template":"input","params":{"type":"number"}}', $parent_rows['education']->option_id],
['common\models\User', $user_id, 'year_to', '{"template":"input","params":{"type":"number"}}', $parent_rows['education']->option_id],
['common\models\User', $user_id, 'place', '{"template":"textInput","params":[]}', $parent_rows['education']->option_id],
['common\models\User', $user_id, 'year', '{"template":"input","params":{"type":"number"}}', $parent_rows['development']->option_id],
['common\models\User', $user_id, 'name', '{"template":"textInput","params":[]}', $parent_rows['development']->option_id],
['common\models\User', $user_id, 'year', '{"template":"input","params":{"type":"number"}}', $parent_rows['courses']->option_id],
['common\models\User', $user_id, 'name', '{"template":"textInput","params":[]}', $parent_rows['courses']->option_id],
['common\models\User', $user_id, 'country', '{"template":"textInput","params":[]}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'date_from', '{"template":"datePicker","params":{"dateFormat":"dd-MM-yyyy"}}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'date_to', '{"template":"datePicker","params":{"dateFormat":"dd-MM-yyyy"}}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'type', '{"template":"textInput","params":[]}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'team', '{"template":"input","params":{"type":"number"}}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'time', '{"template":"input","params":{"type":"number"}}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'percent', '{"template":"input","params":{"type":"number"}}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'position', '{"template":"textInput","params":[]}', $parent_rows['jobs']->option_id],
['common\models\User', $user_id, 'facebook', '{"template":"textInput","params":[]}', $parent_rows['social']->option_id],
['common\models\User', $user_id, 'twitter', '{"template":"textInput","params":[]}', $parent_rows['social']->option_id],
['common\models\User', $user_id, 'linkedin', '{"template":"textInput","params":[]}', $parent_rows['social']->option_id],
['common\models\User', $user_id, 'vk', '{"template":"textInput","params":[]}', $parent_rows['social']->option_id],
]
)->execute();
}
*/
}