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

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

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

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

PHP

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

Q&A

0回答

792閲覧

laravel データベースから取得した値をVIEWに表示

rab96

総合スコア4

Laravel

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

PHP

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

0グッド

0クリップ

投稿2020/05/02 16:35

posts(記事)

idtitlebody

post_tag

idpost_idtag_id

tags(タグ)

idtag_name

漫画(3) アニメ(2) 映画(2) ....
というように投稿数上位のタグをviewに表示させたいのですが
tag_idからtag_nameを取り出すところで苦戦しています。

php

1//PostsController.php 2 $tag_counts = \DB::table('post_tag') 3 ->select(\DB::raw('tag_id, count(*) as count')) 4 ->groupBy('tag_id') 5 ->orderBy('count','desc') 6 ->limit(5) 7 ->get(); 8 9 return view('posts.index', ['tag_counts' => $tag_counts]);

上記のコードでこちらの値は取り出せましたが
[{"tag_id":1,"count":3},{"tag_id":2,"count":2},{"tag_id":3,"count":2},...]

tag_idからtag_nameを取得して
最終的には
[{"tag_name":漫画,"count":3},...,]
というように置き換えをしたいです

(もっと直接的に値がとれそうですが...)

また、viewはこんな感じで表現できそうですか?

php

1//index.php 2@foreach($tag_counts as $value) 3 <a href="{{ route('top', ['tag_name' => $value->tag_name]) }}"> 4 ({{$value->tag_name}}){{$value->count}} 5 @endforeach

ご教示よろしくお願いいたします。

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

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

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

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

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

rab96

2020/05/03 03:34

初心者ですが現状はインターネットで調べながら勉強しています そちらの本は結構人気があるみたいで今後購入を考えています。 本を読めば解決できそうですか?
退会済みユーザー

退会済みユーザー

2020/05/03 03:36 編集

変なコード書いているから、もしかしてこの本のせいかなと疑いました。 本の評価はつまり、そういうことです。
rab96

2020/05/03 03:58

初心者には良くても深く理解している人からすると...といった感じですかね 参考になりました。 とりあえず一つサイトを作ってみたくてインターネットで調べて いろいろなサイトからつまんでコピペして自分の環境に合わせるようにしていますが、 動きはするけど書式がばらばらで汚いコードになってますね( ;∀;)
退会済みユーザー

退会済みユーザー

2020/05/03 04:04

まずはこの辺から始めてみては? https://qiita.com/sayama0402/items/668f7148759910f65da9 とりあえず、コントローラーの中に DB:: クラスが出てくることはないと思っていい。 そういうサンプルは参考にしてはいけない。
rab96

2020/05/03 04:20

そうなんですね、親切にありがとうございます。 サンプルによっては結構コントローラーの中にDB::クラスが書いてあることが多くて標準的な書き方であったり、他の書き方をしているものには様々な書き方があるなぁ...ぐらいに思っていました。
退会済みユーザー

退会済みユーザー

2020/05/03 04:22

DB:: を使うのはあくまで例外的な手段。 Eloquent を使って十分なパフォーマンスが得られない場合などに使うべき。 間違いではないが、Laravelの良さを生かしていない。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問