回答編集履歴

4

すみません。がっつりと訂正させていただきます!!

2018/05/21 07:10

投稿

mix-peach
mix-peach

スコア1910

test CHANGED
@@ -30,7 +30,35 @@
30
30
 
31
31
 
32
32
 
33
- uniqueの後ろに指定できるのは、「ユニークチェック対象から除外する」条件です
33
+ ~~uniqueの後ろに指定できるのは、「ユニークチェック対象から除外する」条件です'task_name' =>
34
+
35
+ 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,'. $this->task_list_id
36
+
37
+ 上記だと、・idが一致する・task_list_id が一致するのどちらかを満たす場合に除外されます。本来は、・idが一致する・task_list_id が一致しないのどちらかを満たす場合に、除外したいはず・・ですよね?なので、php'task_name' => //↓これでnot条件に'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,!'. $this->task_list_id,
38
+
39
+ が、設定すべき内容なのではないかと思われます。~~
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+ 書き直しますね・・・
50
+
51
+
52
+
53
+
54
+
55
+ uniqueの後ろに指定できるのは、「ユニークチェック」条件ですね!
56
+
57
+
58
+
59
+ 1つめは条件一致で除外、2個目以降は条件一致で対象となります。
60
+
61
+
34
62
 
35
63
 
36
64
 
@@ -44,44 +72,56 @@
44
72
 
45
73
 
46
74
 
47
- 上記だと、
75
+ つまり
48
76
 
49
77
 
50
78
 
51
- ・idが一致する
79
+ ・idが一致しない
52
80
 
53
- ・task_list_id が一致する
81
+ $this->task_list_idが一致する
54
82
 
55
83
 
56
84
 
57
- どちらかを満たす場合に除外されます。
85
+ 双方を満たすものからユニークチェックを行います。
58
86
 
59
87
 
60
88
 
61
- 本来は、
62
-
63
- ・id一致する
89
+ で、新規作成時の話です
64
-
65
- ・task_list_id が一致しない
66
90
 
67
91
 
68
92
 
69
- のどちらを満たす場合に、除外したはず・・でよね
93
+ $this->idは何入って
70
94
 
71
95
 
72
96
 
97
+ -1とか0とか入っていれば大丈夫そうですが、nullの場合、想定の通りに動くのか謎です。
98
+
73
- なので
99
+ (やったことので
74
100
 
75
101
 
76
102
 
103
+
104
+
105
+ もし$this->id がnullなのであれば、バリデーションを
106
+
107
+
108
+
77
- ```php
109
+ ```
78
110
 
79
111
  'task_name' =>
80
112
 
81
- //↓これでnot条件に
113
+
82
114
 
83
- 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,!'. $this->task_list_id,
115
+ 'required|min:1|max:31|unique:tasks,tasks,task_name,'. intval($this->id). ',id,task_list_id,'. $this->task_list_id
84
116
 
85
117
  ```
86
118
 
119
+
120
+
87
- 設定すべき内容なのはないかと思われます。
121
+ のようにすれば上手く行くかもです。
122
+
123
+
124
+
125
+ ・・・何度も訂正を書いてしまったので、自分でも信頼性に欠ける回答だなと思っております。
126
+
127
+ すみません・・・

3

説明文訂正・・・

2018/05/21 07:10

投稿

mix-peach
mix-peach

スコア1910

test CHANGED
@@ -48,25 +48,25 @@
48
48
 
49
49
 
50
50
 
51
- ・idが一致しない
51
+ ・idが一致する
52
52
 
53
53
  ・task_list_id が一致する
54
54
 
55
55
 
56
56
 
57
- 双方を満たす場合に除外されます。
57
+ どちらかを満たす場合に除外されます。
58
58
 
59
59
 
60
60
 
61
61
  本来は、
62
62
 
63
- ・idが一致しない
63
+ ・idが一致する
64
64
 
65
65
  ・task_list_id が一致しない
66
66
 
67
67
 
68
68
 
69
- 双方を満たす場合に、除外したいはず・・ですよね?
69
+ どちらかを満たす場合に、除外したいはず・・ですよね?
70
70
 
71
71
 
72
72
 

2

文言訂正

2018/05/21 06:24

投稿

mix-peach
mix-peach

スコア1910

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- uniqueの後ろに指定できるのは、「除外」条件です。
33
+ uniqueの後ろに指定できるのは、「ユニークチェック対象から除外する」条件です。
34
34
 
35
35
 
36
36
 

1

回答追記

2018/05/21 05:16

投稿

mix-peach
mix-peach

スコア1910

test CHANGED
@@ -17,3 +17,71 @@
17
17
 
18
18
 
19
19
  質問掲載時の、書き間違いでしょうか??
20
+
21
+
22
+
23
+
24
+
25
+ ---
26
+
27
+
28
+
29
+ 追記します。
30
+
31
+
32
+
33
+ uniqueの後ろに指定できるのは、「除外」の条件です。
34
+
35
+
36
+
37
+ ```php
38
+
39
+ 'task_name' =>
40
+
41
+ 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,'. $this->task_list_id
42
+
43
+ ```
44
+
45
+
46
+
47
+ 上記だと、
48
+
49
+
50
+
51
+ ・idが一致しない
52
+
53
+ ・task_list_id が一致する
54
+
55
+
56
+
57
+ の双方を満たす場合に除外されます。
58
+
59
+
60
+
61
+ 本来は、
62
+
63
+ ・idが一致しない
64
+
65
+ ・task_list_id が一致しない
66
+
67
+
68
+
69
+ の双方を満たす場合に、除外したいはず・・ですよね?
70
+
71
+
72
+
73
+ なので、
74
+
75
+
76
+
77
+ ```php
78
+
79
+ 'task_name' =>
80
+
81
+ //↓これでnot条件に
82
+
83
+ 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,!'. $this->task_list_id,
84
+
85
+ ```
86
+
87
+ が、設定すべき内容なのではないかと思われます。