Larabel:DBに接続できなかった理由
Larabel:DBに接続できなかった理由
MVCモデルが何となく理解出来てきた今日この頃。
「よし、DBのコントロールに移るか」と意気揚々試してみる事にしました。
まずは簡単なシングルテーブルで
最初から難易度上げるとミスの箇所もわからなくなるので『お題:お問合せフォーム実装』で試みます。
まずはマイグレーションの土台を用意。
1 |
php artisan make:migration create_contacts_table |
これでdatabase\micrations に【日付+create_contacts_table.php】が作成されます。
続いて作成されたデータを開いてカラム名と属性を記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?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'); } } |
そしてマイグレーション実行!
1 |
php artisan migrate |
PHPMyAdminで確認すると… おー、しっかりテーブルが出来上がってます。前作ったデータを消すようなことはせず、足りないものだけ作ってくれるところが優秀ですよね。
DBはできた。さぁ、DBに接続だ!と思いControllerを記載しました。
1 2 3 4 5 6 |
/** 問い合わせ 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の中に悪い奴を見つけました!
1 |
$contacts = DB::select('select * form contacts'); |
気づきました?。
SQLのテーブル指定はfromでformではありません。
ポイントでも何でもないんですけど…こんなところに原因があったのか。
まとめ
つまらない間違いほど気づきにくいもの。
見直しは先入観を持たず実施しましょう。
-
前の記事
Laravel:chromeの翻訳しますか?を回避する方法 2018.10.24
-
次の記事
Laravel備忘録:更新エラー時の処理(バリデーション) 2018.10.29
コメントを残す