前提・実現したいこと
laravel5.7でeloquentでリレーションを使ってbladeに値を描画したい
試したのソースコード
php
1テーブルの情報 2 3mysql> select * from book_keeps; 4+----+--------------+------------+----------+-----------------+ 5| id | posting_date | subject_id | title_id | Amount_of_money | 6+----+--------------+------------+----------+-----------------+ 7| 1 | 2019/02/01 | 1 | 1 | 300000 | 8| 2 | 2019/02/01 | 1 | 2 | 80000 | 9| 3 | 2019/01/01 | 2 | 1 | 3000 | 10| 4 | 2019/02/01 | 2 | 3 | 108 | 11| 5 | 2019/02/01 | 2 | 4 | 5000 | 12+----+--------------+------------+----------+-----------------+ 135 rows in set (0.00 sec) 14 15mysql> select * from subjects; 16+----+---------+ 17| id | subject | 18+----+---------+ 19| 1 | 収益 | 20| 2 | 費用 | 21+----+---------+ 222 rows in set (0.00 sec) 23 24やりたいこと 25book_keepsテーブルのsubject_idを外部キーとしてsubjectsテーブルのsubjectをリレーションしてとってきたいです。参考サイトを参考にfind(1)しているのですが本当はall()で全レコードとりたいのですが、それを使うと取れませんでした。 26 27app/Http/Controllers/BookKeepController.php 28<?php 29 30namespace App\Http\Controllers; 31 32use App\Models\BookKeep; 33use App\Models\Subject; 34 35class BookKeepController extends Controller 36{ 37 public function index () 38 { 39 $book_keeps = BookKeep::find(1)->subjects; 40 return view('book_keep.index', ['book_keeps' => $book_keeps]); 41 } 42} 43 44app/Models/BookKeep.php 45 46<?php 47 48namespace App\Models; 49 50use Illuminate\Database\Eloquent\Model; 51 52class BookKeep extends Model 53{ 54 public $timestamps = false; 55 56 public function subjects () 57 { 58 return $this->belongsTo('App\Models\Subject', 'id'); 59 } 60} 61 62resources/views/book_keep/index.blade.php 63 64@foreach($book_keeps as $book_keep) 65 {{$book_keep->id}} 66 {{$book_keep->posting_date}} 67 {{$book_keep->subject}} 68 {{$book_keep->title_id}} 69 {{$book_keep->Amount_of_money}} 70 <br> 71@endforeach 72 73望む結果 74 751 2019/02/01 収益 1 300000 761 2019/02/01 収益 2 80000 772 2019/01/01 費用 1 3000 782 2019/02/01 費用 3 108 792 2019/02/01 費用 4 5000 80
補足情報(FW/ツールのバージョンなど)
php7.3
laravel5.7
mysql8.0
参考サイト
Laravel 5.7 Eloquent:リレーション
https://readouble.com/laravel/5.7/ja/eloquent-relationships.html#one-to-many
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/10 03:47