Laravelでリレーションがしたいときはモデルに記述する必要があります。
1対1の場合はこんな感じ↓
public function phone()
{
return $this->hasOne('App\Phone');
}
例えばAiueoというモデルにこれを記述すると、aiueosテーブルのphone_idとphonesテーブルのidが紐付き、aiueosテーブルからselectしてきたときにphonesテーブルから取得したデータがオブジェクトとして入ってきます。
aiueosテーブルのカラム名がiphone_idではない場合は、
↓↓↓↓↓↓↓ あなたの記事の内容
return $this->hasOne('App\Phone', '自分のテーブルの該当カラム名', '紐づけたいテーブルののカラム名');
───────
return $this->hasOne('App\Phone', '自分のテーブルの該当カラム名', '紐づけたいテーブルのカラム名');
↑↑↑↑↑↑↑ 編集リクエストの内容
のような形で記述しなければいけない。
多対1の時は逆なので注意
例:return $this->belongsTo('App\Phone', '紐づけたいテーブルのカラム名', '自分のテーブルの該当カラム名');
1対多の時はこれ
return $this->hasMany('App\Phone', '紐づけたいテーブルのカラム名', '自分のテーブルの該当カラム名');
しかし、僕がこれでやった時はなぜか失敗
return $this->hasMany('App\Phone')
これだとなぜか上手くいった・・・謎
hasOneだけでいいじゃん、belongsToとかいらないじゃんとか思う人もいると思う。
でも従属テーブルのidでSELECTかけたいときとかに必要になるから頭の片隅に入れといてね
後、hasManyで自分のidから紐付さきのテーブルの行をまとめて削除する方法とかあるのかな?あったら便利
終わり