Laravel  DBのデータを表示する方法


DBから、データを持ってくるには、Facadesの機能を使う必要がある。

use Illuminate\Support\Facades\DB;

CRUDの行き先指定が書いてあるContactFormControllerに、上に書いてある文を追加する。

Facadesを使って、クエリビルダという書き方を使い、データを表示していく。

クエリビルダについては、こちらの記事に詳しく書いてある。
わからなくなったら、復習をしてみよう。

クエリビルダの記述

引き続き、ContactFormControllerに、クエリビルダを記述していく。
今回は、indexメソッドの中に書いていく。

public function index()
{
    //クエリビルダ
   $contacts = DB::table('contact_forms')
    ->select('id', 'soubi-1')->get();

    dd($contacts);

$contactsの中に、DB::table('contact_forms')で、呼び出す先のテーブルを指定。
->select('id', 'soubi-1')で、テーブルの中から呼び出す列を指定する。
そして、->get();とすることで、指定したデータをDBから持ってくることが出来る。

変数をviewに移動させよう

クエリビルダを使って、 $contactsの中に、DBの中身が格納された。
次は、controllerから、データを表示する役割があるviewに移動させてあげる必要がある。

ContactFormControllerで、viewにあるcontactフォルダの、indexという名前のファイルに、変数contactsを渡す。

return view('contact.index', compact('contacts'));

と打ってあげる。
compactは、ファイルを移動させるときに使う変数。

index.blade.php

                    @foreach($contacts as $contact)
                    {{ $contact->id}}
                    {{ $contact->soubi-1}}
                    @endforeach

後は、このように、送られた変数を、foreachで、列ごとに分解してあげれば、表座させる事が出来る。