初めてのLaravel 5.6 : (9) モデルの作成

前回は、マイグレーションを使って、Articlesテーブルを作成しました。今回はMVCパターンのモデルを作成し、モデルを通して、DBのデータを操作を行います。

なお、Laravelでは DB とモデルオブジェクトを対応付ける機能を Eloquent と名付けています。Eloquent の機能を継承し、ビジネスロジックを加えたクラスがモデルです。

続きを読む

広告

artisan migrate で dropColumnがエラーになりハマる

php artisan migrate:rollback した時や、php artisan migrate:reset した時に、以下のエラーが出て数時間ハマってしまいました。

PHP Fatal error:  Class 'Doctrine\DBAL\Driver\PDOSqlite\Driver' not found in /Users/who/Code/blog/vendor/laravel/framework/src/Illuminate/Database/SQLiteConnection.php on line 46
PHP Stack trace:
PHP   1. {main}() /Users/who/Code/blog/artisan:0
PHP   2. Illuminate\Foundation\Console\Kernel->handle() /Users/who/Code/blog/artisan:36
...
...

続きを読む

SQLiteで外部キー制約(Foreign Key)が効かない時

データベースのテーブルに親子関係を持たせて、親を削除したら、子も削除する様にしたい時、外部キー制約を設定します。しかし、SQLiteの場合は デフォルトでは外部キー制約(Foreign Key)がOFFになっています。その為、DBにつなぐ度に以下のSQLコマンドの実行が必要になります。

PRAGMA foreign_keys = ON;

では、Laravel 5.1 のアプリでは何処で、”PRAGMA…” を実行すれば良いのでしょうか?

続きを読む