質問編集履歴

3

bladeについて追記しました。

2021/07/07 01:40

投稿

shimadakana
shimadakana

スコア0

test CHANGED
File without changes
test CHANGED
@@ -232,7 +232,11 @@
232
232
 
233
233
  ```
234
234
 
235
+ ※2021.7.7追記
236
+
235
- ※追記 ごめんなさい! ここに張り付けたdumpは、今の不具合が出ている時点のデータではありませんでした。
237
+ ごめんなさい! ここに張り付けたdumpは、今の不具合が出ている時点のデータではありませんでした。
238
+
239
+
236
240
 
237
241
  正確には、以下です(最新)。
238
242
 
@@ -483,3 +487,9 @@
483
487
  Laravel 6.0
484
488
 
485
489
  MySQL(MariaDB) 10.4.14
490
+
491
+
492
+
493
+ (2021.7.7追記)
494
+
495
+ ちなみに、blade上で[$item -> admin_tags]をdumpしたところ[NULL]と出ました……。

2

TABLE構造も載せました。

2021/07/07 01:40

投稿

shimadakana
shimadakana

スコア0

test CHANGED
File without changes
test CHANGED
@@ -462,10 +462,16 @@
462
462
 
463
463
  やりたいことは、[auto_rules]のIDと一致する中間テーブルのデータを一緒に取得([admin_tag]とIDが一致するnameも取得)して、一覧に並べることです。
464
464
 
465
+ [admin_tags]
466
+
465
467
  ![admin_tags](0b9185fd68ab14dcdb14b801cf1cf6c9.jpeg)
466
468
 
469
+ [admin_tag_auto_rule(中間TABLE)]
470
+
467
471
  ![admin_tag_auto_rule(中間TABLE)](adae39d6bc75aa6857aed2ae4dffd7e7.jpeg)
468
472
 
473
+ [auto_rules]
474
+
469
475
  ![auto_rules](5c9d73229885a66ca05921f7670eaed4.jpeg)
470
476
 
471
477
 

1

貼り付けたデータが間違ってました(最新ではなかった)

2021/07/07 01:21

投稿

shimadakana
shimadakana

スコア0

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
  データのdumpを見る限り、「admin_tags」であっている(データ存在する)ように見えるのですが。
72
72
 
73
-
73
+ ```data
74
74
 
75
75
  items=[{
76
76
 
@@ -230,6 +230,244 @@
230
230
 
231
231
  }}]}]
232
232
 
233
+ ```
234
+
235
+ ※追記 ごめんなさい! ここに張り付けたdumpは、今の不具合が出ている時点のデータではありませんでした。
236
+
237
+ 正確には、以下です(最新)。
238
+
239
+ ```data
240
+
241
+ items=[{
242
+
243
+
244
+
245
+ "id":1,
246
+
247
+ "url":"http://XXX.jp/",
248
+
249
+ "url_type":1,
250
+
251
+ "rule_type":1,
252
+
253
+ "run_flg":1,
254
+
255
+ "regist_date":"2021-07-02 10:15:34",
256
+
257
+ "created_at":"2021-07-02 10:15:34",
258
+
259
+ "updated_at":"2021-07-02 10:15:34",
260
+
261
+ "url_type_name":"\u5b8c\u5168\u4e00\u81f4",
262
+
263
+ "rule_type_name":"WEB\u30a2\u30af\u30bb\u30b9",
264
+
265
+ "run_flg_name":"\u5b9f\u884c\u5b8c\u4e86",
266
+
267
+
268
+
269
+ "admin_tags":[
270
+
271
+
272
+
273
+ {
274
+
275
+ "id":1,
276
+
277
+ "tag_name":"XXXXX_\u914d\u4fe1\u6e08\u307f",
278
+
279
+ "sort":1,
280
+
281
+ "haishin_flg":1,
282
+
283
+ "created_at":"2021-07-02 10:15:34",
284
+
285
+ "updated_at":"2021-07-02 10:15:34",
286
+
287
+ "pivot":{
288
+
289
+ "auto_rule_id":1,
290
+
291
+ "admin_tag_id":1,
292
+
293
+ "created_at":"2021-07-02 10:15:34",
294
+
295
+ "updated_at":"2021-07-02 10:15:34"
296
+
297
+ }
298
+
299
+ },{"
300
+
301
+ id":2,
302
+
303
+ "tag_name":"XXXXX_\u958b\u5c01",
304
+
305
+ "sort":2,
306
+
307
+ "haishin_flg":1,
308
+
309
+ "created_at":"2021-07-02 10:15:34",
310
+
311
+ "updated_at":"2021-07-02 10:15:34",
312
+
313
+ "pivot":{
314
+
315
+ "auto_rule_id":1,
316
+
317
+ "admin_tag_id":2,
318
+
319
+ "created_at":"2021-07-02 10:15:34",
320
+
321
+ "updated_at":"2021-07-02 10:15:34"
322
+
323
+ }
324
+
325
+ },{
326
+
327
+ "id":10,
328
+
329
+ "tag_name":"3000\u4e07\u5186\u3000\u6238\u5efa",
330
+
331
+ "sort":10,
332
+
333
+ "haishin_flg":0,
334
+
335
+ "created_at":"2021-07-02 10:15:34",
336
+
337
+ "updated_at":"2021-07-02 10:15:34",
338
+
339
+ "pivot":{
340
+
341
+ "auto_rule_id":1,
342
+
343
+ "admin_tag_id":10,
344
+
345
+ "created_at":"2021-07-02 10:15:34",
346
+
347
+ "updated_at":"2021-07-02 10:15:34"
348
+
349
+ }
350
+
351
+ },{
352
+
353
+ "id":22,
354
+
355
+     "tag_name":"\u30a4\u30a8\u30a6\u30fc\u30eb\uff08\u30a4\u30a8\u30a6\u30fc\u30eb\uff09",
356
+
357
+ "sort":22,"haishin_flg":1,
358
+
359
+ "created_at":"2021-07-02 10:15:34",
360
+
361
+ "updated_at":"2021-07-06 16:42:14",
362
+
363
+ "pivot":{
364
+
365
+ "auto_rule_id":1,
366
+
367
+ "admin_tag_id":22,
368
+
369
+ "created_at":"2021-07-02 10:15:34",
370
+
371
+ "updated_at":"2021-07-02 10:15:34"
372
+
373
+ }
374
+
375
+ }
376
+
377
+ ]
378
+
379
+ }]
380
+
381
+ ```
382
+
383
+ あと、関連ソース(Controller、Model)も添えておきます。
384
+
385
+ Model部分の取り方がおかしい可能性もありますか?
386
+
387
+ (Laravel歴2カ月、テレワークで訊ける人がいなくて泣いてます)
388
+
389
+
390
+
391
+ ```Laravel
392
+
393
+ class xxxxxController extends Controller
394
+
395
+
396
+
397
+ public function index() {
398
+
399
+
400
+
401
+ //データ抽出
402
+
403
+ $items = AutoRule::with('adminTags') -> get();
404
+
405
+
406
+
407
+ \Debugbar::info('items='.$items); ⇒ここで確認したデータです
408
+
409
+
410
+
411
+ return view('auto_rule_setting', ['items' => $items]);
412
+
413
+ }
414
+
415
+ (以下略)
416
+
417
+ ```
418
+
419
+ ```Laravel
420
+
421
+ class AutoRule extends Model {
422
+
423
+
424
+
425
+ public function adminTags() {
426
+
427
+ return $this -> belongsToMany(AdminTag::class,
428
+
429
+ 'admin_tag_auto_rule',
430
+
431
+ 'auto_rule_id',
432
+
433
+ 'admin_tag_id') -> withTimestamps();
434
+
435
+ }
436
+
437
+ (以下略)
438
+
439
+ ```
440
+
441
+ ```Laravel
442
+
443
+ class AdminTag extends Model {
444
+
445
+
446
+
447
+ public function autoRules() {
448
+
449
+ return $this -> belongsToMany(AutoRule::class,
450
+
451
+ 'admin_tag_auto_rule',
452
+
453
+ 'admin_tag_id',
454
+
455
+ 'auto_rule_id');
456
+
457
+ }
458
+
459
+ (以下略)
460
+
461
+ ```
462
+
463
+ やりたいことは、[auto_rules]のIDと一致する中間テーブルのデータを一緒に取得([admin_tag]とIDが一致するnameも取得)して、一覧に並べることです。
464
+
465
+ ![admin_tags](0b9185fd68ab14dcdb14b801cf1cf6c9.jpeg)
466
+
467
+ ![admin_tag_auto_rule(中間TABLE)](adae39d6bc75aa6857aed2ae4dffd7e7.jpeg)
468
+
469
+ ![auto_rules](5c9d73229885a66ca05921f7670eaed4.jpeg)
470
+
233
471
 
234
472
 
235
473
  ### 補足情報(FW/ツールのバージョンなど)