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

回答編集履歴

1

(1)with()が抜けていた (2)誤字修正など

2017/12/06 08:08

投稿

natady
natady

スコア606

answer CHANGED
@@ -5,18 +5,18 @@
5
5
  「Tables1の情報を、その行のUser_idに対応するidのユーザの氏名を加えて返す」ということをやりたい場合、こんな感じになると思います。
6
6
 
7
7
  ※変数名、カラム名、リレーションを定義するメソッド名などは適当につけてます。
8
- ※別途Tables1モデルでリレーションを定義する必要があります。`hasOne()`とか。
8
+ ※別途Tables1モデルでリレーションを定義する必要があります。
9
9
  ※DBのカラム名はスネークケース、キャメルケース統一した方がいいです。
10
10
 
11
11
  ```php
12
- $items = Tables1::where('tokuten', '>' ,60)->get();
12
+ $items = Tables1::where('tokuten', '>' ,60)->with("user")->get();
13
13
 
14
14
  $users = [];
15
15
  foreach ($items as $item) {
16
16
  $users[] = [
17
- "id" => $row->User_id,
17
+ "id" => $item->User_id,
18
- "name" => $row->user()->name,
18
+ "name" => $item->user->name,
19
- "tokuten" => $row->tokuten,
19
+ "tokuten" => $item->tokuten,
20
20
 
21
21
 
22
22