質問編集履歴

2

追加

2018/04/27 09:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -202,7 +202,155 @@
202
202
 
203
203
  ```
204
204
 
205
-
205
+ ```php
206
+
207
+ public function addcopy() {
208
+
209
+ $time = microtime(true);
210
+
211
+ $jobId = request()->input('jobid');
212
+
213
+
214
+
215
+ $client = Job::select('client_id')->where('id',$jobId)->first();
216
+
217
+ $client = $client['client_id'];
218
+
219
+ $fulltext = Fulltext::select('id','phase_id','data')->where('type', 'client')->where('main_id', $client)->first();
220
+
221
+ $meta = [];
222
+
223
+ foreach (Cmeta::select('citem_id', 'value')->where('client_id', $client)->get()->toArray() as $cmeta) {
224
+
225
+ $meta[$cmeta['citem_id']] = $cmeta['value'];
226
+
227
+ }
228
+
229
+ \DB::statement('SET FOREIGN_KEY_CHECKS=0;');
230
+
231
+ $jmeta = Job::createSet($client);
232
+
233
+ $data = ['client'=>$meta,'meta'=>[$jmeta['jitem_id']=>$jmeta['value']]];
234
+
235
+ if ($jobId) {
236
+
237
+ foreach (Jmeta::select('jitem_id','value')->where('job_id', $jobId)->where('jitem_id','!=',$jmeta['jitem_id'])->get()->toArray() as $orig) {
238
+
239
+ $meta = new Jmeta();
240
+
241
+ $meta['job_id'] = $jmeta['job_id'];
242
+
243
+ $meta['jitem_id'] = $orig['jitem_id'];
244
+
245
+ $meta['value'] = $orig['value'];
246
+
247
+ $meta->save();
248
+
249
+ $data['meta'][$orig['jitem_id']] = $orig['value'];
250
+
251
+ }
252
+
253
+ }
254
+
255
+ $cdata = $fulltext['data'];
256
+
257
+ $cdata['job'][$jmeta['job_id']] = $data['meta'];
258
+
259
+ Fulltext::where('id', $fulltext['id'])->updateData($cdata);
260
+
261
+ Fulltext::where('id', $fulltext['id'])->update(['phase_id'=>-1]);
262
+
263
+ Fulltext::incrementPhase('client', $fulltext['phase_id'], -1);
264
+
265
+ Fulltext::incrementPhase('client', -1, 1);
266
+
267
+ $fulltext = new Fulltext();
268
+
269
+ $fulltext['type'] = 'job';
270
+
271
+ $fulltext['main_id'] = $jmeta['job_id'];
272
+
273
+ $fulltext['time'] = $time;
274
+
275
+ $fulltext->setData($data);
276
+
277
+ $fulltext->save();
278
+
279
+ Fulltext::incrementPhase('job', 0, 1);
280
+
281
+ \DB::statement('SET FOREIGN_KEY_CHECKS=1;');
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+ $jitems = [5, 39];
290
+
291
+ $jHash = array_flip($jitems);
292
+
293
+
294
+
295
+ $models = call_user_func('\App\Models\Jitem::select', 'id', 'name', 'meta')->whereIn('id', $jitems)->get()->toArray();
296
+
297
+ foreach ($models as $item) {
298
+
299
+ $meta = $item['meta'];
300
+
301
+ $meta['item'] = $item['id'];
302
+
303
+ $meta['name'] = $item['name'];
304
+
305
+ $meta['komoji'] = 'j';
306
+
307
+ $meta['id'] = $jmeta['job_id'];
308
+
309
+ $data[$jHash[$item['id']]] = ['meta'=>$meta];
310
+
311
+ }
312
+
313
+ $items['j'] = $data;
314
+
315
+
316
+
317
+ foreach (Jmeta::select('id', 'jitem_id','value')->where('job_id', (int)$jmeta['job_id'])->whereIn('Jitem_id', $jitems)->get() as $meta) {
318
+
319
+ $itemi = $jHash[$meta['jitem_id']];
320
+
321
+ $items['j'][$itemi]['meta']['value'] = $meta['value'];
322
+
323
+ $items['j'][$itemi]['html'] = $meta->getHtml($items['j'][$itemi]['meta']);
324
+
325
+ }
326
+
327
+ // }}}
328
+
329
+ // $citems {{{
330
+
331
+ $jitems = [];
332
+
333
+ foreach (array_keys($items['j']) as $i) {
334
+
335
+ if (isset($items['j'][$i]['meta']['value']) && $items['j'][$i]['meta']['value'] !== '') {
336
+
337
+ $jitems[] = $items['j'][$i];
338
+
339
+ }
340
+
341
+ }
342
+
343
+ $params['jitems'] = $jitems;
344
+
345
+ $params['jobid'] = $jmeta['job_id'];
346
+
347
+
348
+
349
+ return $params;
350
+
351
+ }
352
+
353
+ ```
206
354
 
207
355
  不明な個所は、Jquery最後にある「after」の箇所でございます。
208
356
 

1

追記

2018/04/27 09:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -162,6 +162,48 @@
162
162
 
163
163
 
164
164
 
165
+ ```
166
+
167
+ <div class="modal fade in" id="copyModal">
168
+
169
+ <div class="modal-dialog modal-xl">
170
+
171
+ <div class="modal-content">
172
+
173
+ <div class="modal-header">
174
+
175
+ <button type="button" class="close" data-dismiss="modal">×</button>
176
+
177
+ <h5 class="modal-title">コピー</h5>
178
+
179
+ </div>
180
+
181
+ <div class="modal-body p-a-0 clearfix">
182
+
183
+ </div>
184
+
185
+ <div class="modal-footer">
186
+
187
+ <button type="button" class="btn btn-default" data-dismiss="modal">閉じる</button>
188
+
189
+ </div>
190
+
191
+ </div>
192
+
193
+ </div>
194
+
195
+ </div>
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+ ```
204
+
205
+
206
+
165
207
  不明な個所は、Jquery最後にある「after」の箇所でございます。
166
208
 
167
209