properties.php
4.39 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
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?php
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
namespace models;
class properties extends \db
{
/////////////////////////////////////////////////////////////////////////////
public function getPropertiesByItemId( $lang_id, $item_id )
{
return $this->get(
'
SELECT
id,
property_key_id,
property_value_id,
(
SELECT
value
FROM
public.properties_keys_i18n
WHERE
property_key_id = public.properties.property_key_id
AND
lang_id = :lang_id
LIMIT
1
) AS key_value,
(
SELECT
value
FROM
public.properties_values_i18n
WHERE
property_value_id = public.properties.property_value_id
AND
lang_id = :lang_id
LIMIT
1
) AS value_value
FROM
public.properties
WHERE
id IN
(
SELECT
property_id
FROM
properties_items
WHERE
item_id = :item_id
)
',
[
'lang_id' => $lang_id,
'item_id' => $item_id,
],
-1
);
}
/////////////////////////////////////////////////////////////////////////////
public function getPropertiesByTypeSubtype( $catalog, $lang_id )
{
return $this->get(
'
SELECT
id,
property_key_id,
property_value_id,
(
SELECT
value
FROM
public.properties_keys_i18n
WHERE
property_key_id = public.properties.property_key_id
AND
lang_id = :lang_id
LIMIT
1
) AS key_value,
(
SELECT
value
FROM
public.properties_values_i18n
WHERE
property_value_id = public.properties.property_value_id
AND
lang_id = :lang_id
LIMIT
1
) AS value_value
FROM
public.properties
WHERE
catalog = (
SELECT
catalog
FROM
public.catalog_i18n
WHERE
full_alias = :catalog
LIMIT
1
)
',
[
'lang_id' => $lang_id,
'catalog' => $catalog
],
-1
);
}
/////////////////////////////////////////////////////////////////////////////
public function getPropertiesForItems( $items_ids )
{
return $this->get(
'
SELECT
property_id,
item_id
FROM
public.properties_items
WHERE
item_id IN ('.join( ',', $items_ids ).')
',
[
],
-1
);
}
/////////////////////////////////////////////////////////////////////////////
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////