質問: ■背景 PHPは独学4か月目ほどですが、Laravelはまだ初心者です。 ■最終目標 正しい情報をブラウザに表示したい Laravelでライブ情報と参加者のidを紐づけていて、最終的には参加者の氏名を表示したいがidが表示されている ■現状 tinkerを使用してどこまで情報が正しくきているのか、どこのタイミングでidから名前にデータを変換する設定をすればいいのか試行錯誤している ■現時点での目標 コントローラ層、ヴュー層以上の情報取得をtinkerで行いたい ■質問 サービスコンテナを参考に例えば`$file1=app('~Service')`と設定し、`$file2=$file1->show(1);`のようにしてデータが正しく表示できればリソースとうまく接続できていると確認しています。 このやりかたでサービス層までは正しく情報がとれていることが分かりました。 1. view層以上はどのように設定すればtinkerでの情報取得が確認できるのでしょうか? サービスコンテナの理解不足により軽率に`$file1=app('~Service')`の感覚で`$file3=resources('datashow')`のようにやったら通らず 2. どのファイルでidではなく、名前を表示するように設定すればいいのでしょうか? viewに関することなのでviewcomposerかbladeファイルあたりかと予測を付けて見たのですが、うまく情報がとれず苦戦しています ■環境 windows php7.2 laravel5.6 teraterm 初歩的な質問でしたら失礼します。 お力添え頂けますと幸いです。 tinkerのタグがないので他に適したものあればご指摘ください。
回答: 初心者がサービス層とか余計なこと考えなくていい。 シンプルにやればこれだけのことでしかない。 コントローラー ``` public function index() { $users = User::all(); return view('user.index')->with(compact('users')); } public function show($id) { $user = User::find($id); return view('user.show')->with(compact('user')); } ``` ビュー側では ``` @foreach($users as $user) {{ $user->name }} @endforeach ``` ``` {{ $user->name }} ``` 難しいことやるのは基本を覚えてから。 明らかに変な情報見て覚えようとしている。 Laravelは公式ドキュメント以外見てはいけない。 tinkerとか全く使わない。