質問編集履歴
3
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -158,7 +158,7 @@
|
|
158
158
|
|
159
159
|
}//foreach($specsvalue as $spec_values)
|
160
160
|
|
161
|
-
$specs_product =$this->specs_products->newEntities($
|
161
|
+
$specs_product =$this->specs_products->newEntities($lists);
|
162
162
|
|
163
163
|
$product = $this->specs_products->saveMany($specs_product);
|
164
164
|
|
2
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
製品項目は固定でスペック項目はカテゴリーによって項目が変わるので、製品とスペックの登録を分けてすることにしました。
|
34
34
|
|
35
|
-
↓
|
35
|
+
↓製品登録時の処理です
|
36
36
|
|
37
37
|
```php
|
38
38
|
|
1
説明の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -30,9 +30,9 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
製品項目は固定
|
33
|
+
製品項目は固定でスペック項目はカテゴリーによって項目が変わるので、製品とスペックの登録を分けてすることにしました。
|
34
|
-
|
34
|
+
|
35
|
-
製品登録時の処理です
|
35
|
+
↓矢印製品登録時の処理です
|
36
36
|
|
37
37
|
```php
|
38
38
|
|
@@ -82,9 +82,19 @@
|
|
82
82
|
|
83
83
|
この後、スペック項目の登録処理をします。
|
84
84
|
|
85
|
+
インポートしたスペック項目の配列($specresult)を登録分(ヘッダー以外
|
86
|
+
|
87
|
+
)foreachします。
|
88
|
+
|
89
|
+
スペックの数分配列を作ります。
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
85
95
|
```php
|
86
96
|
|
87
|
-
if($this->products->saveMany($product)){//製品
|
97
|
+
if($this->products->saveMany($product)){//製品が更新できたら
|
88
98
|
|
89
99
|
|
90
100
|
|
@@ -116,44 +126,112 @@
|
|
116
126
|
|
117
127
|
$deleteflg=1;
|
118
128
|
|
119
|
-
}
|
129
|
+
}
|
120
|
-
|
130
|
+
|
121
|
-
$lists=[];
|
131
|
+
$lists=[];
|
122
|
-
|
132
|
+
|
123
|
-
foreach($id as $ids){//登録した製品id
|
133
|
+
foreach($id as $ids){//登録した製品id
|
124
|
-
|
134
|
+
|
125
|
-
$list=[];
|
135
|
+
$list=[];
|
136
|
+
|
126
|
-
|
137
|
+
//カテゴリーテーブルに紐付いたスペックのid($specid)
|
138
|
+
|
127
|
-
foreach($specid as $skey=> $spec_ids){
|
139
|
+
foreach($specid as $skey=> $spec_ids){
|
128
|
-
|
140
|
+
|
129
|
-
$speccolum['spec_value']=$spec_values;
|
141
|
+
$speccolum['spec_value']=$spec_values;
|
130
|
-
|
142
|
+
|
131
|
-
$speccolum['delete_flg']=$deleteflg;
|
143
|
+
$speccolum['delete_flg']=$deleteflg;
|
132
|
-
|
144
|
+
|
133
|
-
$speccolum['category_id']=$scv_file['categories_id'];
|
145
|
+
$speccolum['category_id']=$scv_file['categories_id'];
|
146
|
+
|
134
|
-
|
147
|
+
$speccolum['product_id']=$ids;//製品id
|
148
|
+
|
135
|
-
|
149
|
+
$speccolum['spec_id']=$spec_ids;//スペックid
|
136
|
-
|
150
|
+
|
137
|
-
$list[]=$speccolum;
|
151
|
+
$list[]=$speccolum;
|
138
|
-
|
152
|
+
|
139
|
-
}
|
153
|
+
}
|
140
|
-
|
154
|
+
|
141
|
-
$lists[]=$list;
|
155
|
+
$lists[]=$list;
|
142
|
-
|
156
|
+
|
143
|
-
}
|
157
|
+
}
|
144
|
-
|
158
|
+
|
145
|
-
}//foreach($specsvalue as $spec_values)
|
159
|
+
}//foreach($specsvalue as $spec_values)
|
146
|
-
|
160
|
+
|
147
|
-
$specs_product =
|
161
|
+
$specs_product =$this->specs_products->newEntities($produtc_spec);
|
148
|
-
|
162
|
+
|
149
|
-
$product = $this->specs_products->saveMany($specs_product);
|
163
|
+
$product = $this->specs_products->saveMany($specs_product);
|
150
|
-
|
164
|
+
|
151
|
-
}//if($speckey!=0)
|
165
|
+
}//if($speckey!=0)
|
152
|
-
|
153
|
-
|
154
|
-
|
166
|
+
|
167
|
+
|
168
|
+
|
155
|
-
}// foreach($specresult as $speckey => $specsvalue )
|
169
|
+
}// foreach($specresult as $speckey => $specsvalue )
|
156
|
-
|
170
|
+
|
157
|
-
}
|
171
|
+
}//if($this->products->saveMany($product)
|
158
172
|
|
159
173
|
```
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
newEntitiesする$produtc_specは下のような形で入って欲しのですが、
|
178
|
+
|
179
|
+
spec_valueの値が一つの製品で全部スペック1のtest1が、2つ目の製品では全部スペック2の値が入ってしまいます。
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
[
|
186
|
+
|
187
|
+
0=>[
|
188
|
+
|
189
|
+
'spec_value'=>'test1',
|
190
|
+
|
191
|
+
'delete_flg'=>'0',
|
192
|
+
|
193
|
+
'category_id'=>2,
|
194
|
+
|
195
|
+
'product_id'=>1,
|
196
|
+
|
197
|
+
'spec_id'=>1,
|
198
|
+
|
199
|
+
],
|
200
|
+
|
201
|
+
1->[
|
202
|
+
|
203
|
+
'spec_value'=>'',
|
204
|
+
|
205
|
+
'delete_flg'=>'0',
|
206
|
+
|
207
|
+
'category_id'=>2,
|
208
|
+
|
209
|
+
'product_id'=>1,
|
210
|
+
|
211
|
+
'spec_id'=>2,
|
212
|
+
|
213
|
+
]、
|
214
|
+
|
215
|
+
2->[
|
216
|
+
|
217
|
+
'spec_value'=>'test3',
|
218
|
+
|
219
|
+
'delete_flg'=>'0',
|
220
|
+
|
221
|
+
'category_id'=>2,
|
222
|
+
|
223
|
+
'product_id'=>1,
|
224
|
+
|
225
|
+
'spec_id'=>3,
|
226
|
+
|
227
|
+
]
|
228
|
+
|
229
|
+
]
|
230
|
+
|
231
|
+
配列が多すぎて、わかり辛くなってしまいました。
|
232
|
+
|
233
|
+
上のように$produtc_specに入れたいのですが、どうすればよいでしょうか...
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
かなり説明不足かもしれませんが、ご教示お願いします。
|