回答編集履歴
2
より良い方法の提案
answer
CHANGED
@@ -14,4 +14,10 @@
|
|
14
14
|
$test = Test::where('login_id', $id)->first();
|
15
15
|
$test->memo = $memo;
|
16
16
|
$test->save();
|
17
|
+
```
|
18
|
+
|
19
|
+
もしくはこのように`update()`メソッドを使っても良いかもしれません。
|
20
|
+
|
21
|
+
```php
|
22
|
+
Test::where('login_id', $id)->update(['memo' => $memo]);
|
17
23
|
```
|
1
方法2は動作しなかった。
answer
CHANGED
@@ -1,17 +1,11 @@
|
|
1
1
|
`get()`はデフォルトでは結果が1件の場合でも「配列」を返します。`get()`をつかう場合はこのようになります。
|
2
2
|
|
3
3
|
```php
|
4
|
-
// 方法1
|
5
4
|
$tests = Test::where('login_id', $id)->get();
|
6
5
|
foreach($tests as $test) {
|
7
6
|
$test->memo = $memo;
|
8
7
|
$test->save();
|
9
8
|
}
|
10
|
-
|
11
|
-
// 方法2
|
12
|
-
$test = Test::where('login_id', $id)->get()->toArray()[0];
|
13
|
-
$test->memo = $memo;
|
14
|
-
$test->save();
|
15
9
|
```
|
16
10
|
|
17
11
|
結果が1件だと分かりきっている場合は`first()`を使いましょう。
|