質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1019閲覧

Viewで受け取ったテーブルの外部キーから値を取得したい

JsoHaya

総合スコア17

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/07/06 02:10

実現したいこと

①ControllerからViewにツイートテーブルを渡す。
(tweet_id,user_id,...)

②Viewでツイートテーブルを受け取り、user_idに紐づくuser_nameをusersテーブルから取得する

Viewで受け取ったテーブルの外部キーを使用して値を取得する方法を教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayato7

2020/07/06 02:41 編集

現状どういうコードを書いて、どう詰まっているのでしょうか。 リレーション(https://readouble.com/laravel/5.8/ja/eloquent-relationships.html )は、Laravelにおいても非常に基本的な考えです。そもそも何も書き方が何も思いつかないという場合は、一度何か一通り作成できるチュートリアルから始めるのがよいと思います。
JsoHaya

2020/07/06 02:39

具体例が記載できておらず申し訳ございません。 コード、状況について追記します。 【Controller】 public function showHome() { $tweets = Tweet::all(); return view('home', [ 'tweets' => $tweets, ]); } 【View】 <a href="#">{{ $tweet->user_id }} </a> Viewの「$tweet->user_id」の部分で、usersテーブルから user_idに紐づいたuser_nameを取得したいです。
hayato7

2020/07/06 02:41

TweetModel、UserModelには何かコードを書いているでしょうか。
JsoHaya

2020/07/06 02:45

UserModelに以下を書いています。 public function tweets() { return $this->hasmany('App\Tweet','user_id','id'); }
guest

回答1

0

ベストアンサー

php

1// Controller 2class TweetController 3{ 4 public function index() 5 { 6 $tweets = Tweet::query()->with(['user'])->get(); 7 return view('tweets.index', compact('tweets')); 8 } 9} 10

php

1// tweets/index.blade.php 2 3@foreach($tweets as $tweet) 4 5 <p>{{ $tweet->user->name }}</p> 6 7@endforeach 8

投稿2020/07/06 03:05

phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JsoHaya

2020/07/06 03:36

ご回答ありがとうございます。 修正してみたところ、 「Call to undefined relationship [user] on model [App\Tweet].」 とエラーがでます。 $tweets = Tweet::query()->with(['user'])->get(); ここの'user'部分にはどのような引数がはいるべきでしょうか?
phper.k

2020/07/06 03:43

Tweet クラスにリレーション設定しろってことです。
JsoHaya

2020/07/06 04:00

Tweetクラスに追加したらいけました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問