e3ec491c
andryeyev
+ Catalog в backe...
|
1
2
3
4
5
|
<?php
namespace common\models;
use Yii;
|
94ea562b
andryeyev
+ редактирование ...
|
6
|
use yii\data\ActiveDataProvider;
|
e3ec491c
andryeyev
+ Catalog в backe...
|
7
8
9
10
11
|
/**
* This is the model class for table "catalog".
*
* @property integer $id
|
94ea562b
andryeyev
+ редактирование ...
|
12
|
* @property integer $parent_id
|
e3ec491c
andryeyev
+ Catalog в backe...
|
13
14
15
16
17
18
|
* @property string $cover
* @property string $options
* @property integer $status
* @property integer $sort
*/
class Catalog extends \yii\db\ActiveRecord
|
94ea562b
andryeyev
+ редактирование ...
|
19
|
{
|
e3ec491c
andryeyev
+ Catalog в backe...
|
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
* @inheritdoc
*/
public static function tableName()
{
return 'catalog';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
|
94ea562b
andryeyev
+ редактирование ...
|
34
|
[['parent_id', 'status', 'sort'], 'integer'],
|
e3ec491c
andryeyev
+ Catalog в backe...
|
35
36
37
|
[['cover'], 'string', 'max' => 32],
];
}
|
94ea562b
andryeyev
+ редактирование ...
|
38
|
|
e3ec491c
andryeyev
+ Catalog в backe...
|
39
40
41
42
43
44
|
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
|
94ea562b
andryeyev
+ редактирование ...
|
45
|
'catalog_id' => Yii::t('app', 'ID'),
|
e3ec491c
andryeyev
+ Catalog в backe...
|
46
|
'parent_id' => Yii::t('app', 'Parent ID'),
|
94ea562b
andryeyev
+ редактирование ...
|
47
|
'cover' => Yii::t('app', 'Cover'),
|
e3ec491c
andryeyev
+ Catalog в backe...
|
48
49
50
51
|
'status' => Yii::t('app', 'Status'),
'sort' => Yii::t('app', 'Sort'),
];
}
|
94ea562b
andryeyev
+ редактирование ...
|
52
53
|
/**
|
3fe15343
andryeyev
+ новая версия (d...
|
54
|
* Выполняет поиск по параметрам
|
94ea562b
andryeyev
+ редактирование ...
|
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
* @param array $param принимает [catalog_id, lang_id, return_one, return_field, show_all]
* @return array one | array all | string значение масива
*/
public function finInfo (array $params = [])
{
Tools::ifNotExist ($params, array (
'catalog_id' => false,
'lang_id' => false,
'return_one' => false,
'return_field' => false,
'show_all' => false,
'to_array' => true,
));
$model = new Catalog();
$query = $model->find()->select('*');
$query->joinWith(['relationCatalogLang2']);
$WHERE = array ();
if ($params['catalog_id'] !== false)
{
$WHERE['catalog.catalog_id'] = $params['catalog_id'];
}
if ($params['lang_id'] !== false)
{
$WHERE['catalog_i18n.lang_id'] = $params['lang_id'];
}
if (! empty ($WHERE))
{
$query->where($WHERE);
}
if ($params['to_array'] !== false)
{
$query = $query->asArray();
}
if ($params['return_one'] !== false || $params['return_field'] !== false)
{
$result = $params['return_field'] !== false ? $query->one($params['return_field']) : $query->one();
}
else
{
$result = $query->all();
}
return $result;
}
|
e3ec491c
andryeyev
+ Catalog в backe...
|
109
110
111
112
|
/**
* @return \yii\db\ActiveQuery
*/
|
94ea562b
andryeyev
+ редактирование ...
|
113
114
115
116
117
118
119
120
121
|
public function getRelationCatalogLangPlus()
{
return $this->getRelationCatalogLang2()->where(['lang_id' => yii::$app->params['lang_id']]);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getRelationCatalogLang2()
|
e3ec491c
andryeyev
+ Catalog в backe...
|
122
|
{
|
94ea562b
andryeyev
+ редактирование ...
|
123
|
return $this->hasOne(CatalogLang::className(), ['catalog_id' => 'catalog_id']);
|
e3ec491c
andryeyev
+ Catalog в backe...
|
124
|
}
|
94ea562b
andryeyev
+ редактирование ...
|
125
|
|
e3ec491c
andryeyev
+ Catalog в backe...
|
126
127
|
public function getTitle()
{
|
94ea562b
andryeyev
+ редактирование ...
|
128
129
130
131
132
133
|
return $this->relationCatalogLangPlus->title;
}
public function getParentTitle()
{
return $this->relationCatalogLangPlus->title;
|
e3ec491c
andryeyev
+ Catalog в backe...
|
134
|
}
|
e3ec491c
andryeyev
+ Catalog в backe...
|
135
|
}
|