現在開発中ですので随時更新中です!!
環境構築
Dockerで環境構築
MySQLのコンテナ内の/etc/my.cnfをchmod 444 my.cnfなどで読み取り専用にする。
"Ports are not available..."はPowershellでnetstat -ano | Select-String ":3306"、taskkill /F /PID 4545でポートを開放。
phpMyAdminはDockerコンテナ内の/etc/phpmyadmin/config.inc.phpをホストにコピーしてパスワードをMySQLのパスワードと同じに編集して、編集ファイルを/etc/phpmyadmin/config.inc.phpにコピーする。
設定周りをいじったら、php artisan config:cacheでキャッシュをクリアにすると解決することがある。Docker Desktopや本体の再起動が有効な場合もよくある。
開発
ホーム画面と主要画面の作成。
ホーム画面と主要画面のレイアウトとコントローラを作成し、ルーティングを設定。
nl2br,csrfなどに配慮。
テーブルとマイグレーションの作成
MySQLコンテナ内でCREATE DATABASE foobareats;でデータベースを作成。
Appコンテナ内でphp artisan make:migration create_foobars_table --create=foobarsでテーブルとマイグレーションファイルを作成。
マイグレーションファイルでカラムの設定。
ユーザ情報を渡す。
主要画面でPOST送信するので、モデルでリレーションメソッドを作り、コントローラで動的プロパティとを呼び出す。
Eloquentのモデルはテーブルの名前を明示的に指定しないかぎり、クラス名を複数形のスネークケースにしたものが、テーブル名として使用される。Foobarクラス->foobarsテーブルを採用。
N+1問題を解消するためにFoobar::with('user')->get();などとしてeagerloadする。
不正なリクエスト対策として$fillableを記述。
Selectboxの値を渡す。
マイグレーションファイルとモデルを作成。
php artisan migrate でテーブルを作成。
コントローラのcreate()メソッドで
$examples = Example::all();
$examples_name = $examples->pluck('name');
とし、viewに渡す。
{{ Form::select('example', $examples_name, null) }}
で表示。
認証機能を実装
Breezeをインストールする。lang/ja.jsonで日本語仕様へ変更。
ルーティングが上書きされるので環境構築後に導入するべし。