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ではありません。
ポイントでも何でもないんですけど...こんなところに原因があったのか。
まとめ
つまらない間違いほど気づきにくいもの。
見直しは先入観を持たず実施しましょう。


