質問するログイン新規登録

回答編集履歴

4

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

2018/05/21 07:10

投稿

mix-peach
mix-peach

スコア1910

answer CHANGED
@@ -14,31 +14,51 @@
14
14
 
15
15
  追記します。
16
16
 
17
- uniqueの後ろに指定できるのは、「ユニークチェック対象から除外する」条件です
17
+ ~~uniqueの後ろに指定できるのは、「ユニークチェック対象から除外する」条件です'task_name' =>
18
+ 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,'. $this->task_list_id
19
+ 上記だと、・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,
20
+ が、設定すべき内容なのではないかと思われます。~~
18
21
 
22
+
23
+
24
+
25
+ 書き直しますね・・・
26
+
27
+
28
+ uniqueの後ろに指定できるのは、「ユニークチェック」条件ですね!
29
+
30
+ 1つめは条件一致で除外、2個目以降は条件一致で対象となります。
31
+
32
+
19
33
  ```php
20
34
  'task_name' =>
21
35
  'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,'. $this->task_list_id
22
36
  ```
23
37
 
24
- 上記だと、
38
+ つまり
25
39
 
26
- ・idが一致する
40
+ ・idが一致しない
27
- ・task_list_id が一致する
41
+ $this->task_list_idが一致する
28
42
 
29
- どちらかを満たす場合に除外されます。
43
+ 双方を満たすものからユニークチェックを行います。
30
44
 
31
- 本来は、
32
- ・idが一致
45
+ で、新規作成時の話でが、
33
- ・task_list_id が一致しない
34
46
 
35
- のどちらを満たす場合に、除外したはず・・でよね
47
+ $this->idは何入って
36
48
 
49
+ -1とか0とか入っていれば大丈夫そうですが、nullの場合、想定の通りに動くのか謎です。
37
- なので
50
+ (やったことので
38
51
 
52
+
53
+ もし$this->id がnullなのであれば、バリデーションを
54
+
39
- ```php
55
+ ```
40
56
  'task_name' =>
41
- //↓これでnot条件に
57
+
42
- 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,!'. $this->task_list_id,
58
+ 'required|min:1|max:31|unique:tasks,tasks,task_name,'. intval($this->id). ',id,task_list_id,'. $this->task_list_id
43
59
  ```
60
+
44
- が、設定すべき内容なではないかと思わす。
61
+ ようにすば、上手く行くかもです。
62
+
63
+ ・・・何度も訂正を書いてしまったので、自分でも信頼性に欠ける回答だなと思っております。
64
+ すみません・・・

3

説明文訂正・・・

2018/05/21 07:10

投稿

mix-peach
mix-peach

スコア1910

answer CHANGED
@@ -23,16 +23,16 @@
23
23
 
24
24
  上記だと、
25
25
 
26
- ・idが一致しない
26
+ ・idが一致する
27
27
  ・task_list_id が一致する
28
28
 
29
- 双方を満たす場合に除外されます。
29
+ どちらかを満たす場合に除外されます。
30
30
 
31
31
  本来は、
32
- ・idが一致しない
32
+ ・idが一致する
33
33
  ・task_list_id が一致しない
34
34
 
35
- 双方を満たす場合に、除外したいはず・・ですよね?
35
+ どちらかを満たす場合に、除外したいはず・・ですよね?
36
36
 
37
37
  なので、
38
38
 

2

文言訂正

2018/05/21 06:24

投稿

mix-peach
mix-peach

スコア1910

answer CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  追記します。
16
16
 
17
- uniqueの後ろに指定できるのは、「除外」条件です。
17
+ uniqueの後ろに指定できるのは、「ユニークチェック対象から除外する」条件です。
18
18
 
19
19
  ```php
20
20
  'task_name' =>

1

回答追記

2018/05/21 05:16

投稿

mix-peach
mix-peach

スコア1910

answer CHANGED
@@ -7,4 +7,38 @@
7
7
  'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,'. $this->task_list_id,
8
8
  ```
9
9
 
10
- 質問掲載時の、書き間違いでしょうか??
10
+ 質問掲載時の、書き間違いでしょうか??
11
+
12
+
13
+ ---
14
+
15
+ 追記します。
16
+
17
+ uniqueの後ろに指定できるのは、「除外」の条件です。
18
+
19
+ ```php
20
+ 'task_name' =>
21
+ 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,'. $this->task_list_id
22
+ ```
23
+
24
+ 上記だと、
25
+
26
+ ・idが一致しない
27
+ ・task_list_id が一致する
28
+
29
+ の双方を満たす場合に除外されます。
30
+
31
+ 本来は、
32
+ ・idが一致しない
33
+ ・task_list_id が一致しない
34
+
35
+ の双方を満たす場合に、除外したいはず・・ですよね?
36
+
37
+ なので、
38
+
39
+ ```php
40
+ 'task_name' =>
41
+ //↓これでnot条件に
42
+ 'required|min:1|max:31|unique:tasks,task_name,'. $this->id. ',id,task_list_id,!'. $this->task_list_id,
43
+ ```
44
+ が、設定すべき内容なのではないかと思われます。