Larabel:DBに接続できなかった理由

Larabel:DBに接続できなかった理由

MVCモデルが何となく理解出来てきた今日この頃。

「よし、DBのコントロールに移るか」と意気揚々試してみる事にしました。

まずは簡単なシングルテーブルで

最初から難易度上げるとミスの箇所もわからなくなるので『お題:お問合せフォーム実装』で試みます。

まずはマイグレーションの土台を用意。

php artisan make:migration create_contacts_table

これでdatabase\micrations に【日付+create_contacts_table.php】が作成されます。

続いて作成されたデータを開いてカラム名と属性を記載します。

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateContactsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('contacts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email');
            $table->string('subject');
            $table->text('content');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('contacts');
    }
}

そしてマイグレーション実行!

php artisan migrate

PHPMyAdminで確認すると... おー、しっかりテーブルが出来上がってます。前作ったデータを消すようなことはせず、足りないものだけ作ってくれるところが優秀ですよね。

DBはできた。さぁ、DBに接続だ!と思いControllerを記載しました。

    /** 問い合わせ DB接続**/
    public function inquiry_list(Request $request)
    { /*WHERE name = {{ Auth::user()->name }}*/
        $contacts = DB::select('select * form contacts');
        return view('home/inquiry_list',['items' => $items]);
    }

つながらない...。

マニュアルを調べググってみてもどこが悪いか不明です。1時間の格闘の末、やっとControllerの中に悪い奴を見つけました!

$contacts = DB::select('select * form contacts');

気づきました?。

SQLのテーブル指定はfromでformではありません。

ポイントでも何でもないんですけど...こんなところに原因があったのか。

まとめ

つまらない間違いほど気づきにくいもの。

見直しは先入観を持たず実施しましょう。

\ 最新情報をチェック /

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください