いろいろ技術的メモ

仕事に差し障りない範囲で、関連ネタなど…

参照DBの変更とか

www.it-tech-box.com

 

パスワードも忘れるよねー。

 

・基本設定

  • DB関連の設定は、\config\database.php にある。デフォではmySQL。それ以降の設定は基本的には、そのまま弄らないこと。
  • ID,パスワード,ポート設定やdatabase名などは、プロジェクトのrootディレクトリ直下にある、 .env ファイル。.env.exampleファイルを見ながら編集する。
  • homestead環境でcomposerから引っ張ってきたデータであれば、そのまま何もしなくても稼働するかも。だが、これが罠である気が。知らないままコア機能触れちゃうからなー。DBにログイン出来なくてseederやmigrateが失敗する場合は、この辺の設定が問題だ。

 

・モデル

php artisan make:model Task

単純だけど、裏の隠れ処理が多すぎて、知らないと困惑するのだよなぁ。

  1. この場合、app直下にmodelファイルが生成される。
  2. DB側のテーブル名は Tasksにする。キーのうち、自分の主キーはidに。
  3. model内に何も書かなくても、基底クラスの基本機能により、TaskというモデルがTasksというテーブルにリンクし、主キーidで、一通りの一覧データ取得など基本機能を実行可能になる。
  4. 利用するController (\app\Http\Controllers以下) 内などで、use App\Task; 宣言することで参照される。
  5. view()で画面側に設定してやれば、あとはviewのお仕事。(\resources\views以下)

 

Controllerの表示処理内部で、

$tasks = Task::all(['id', 'taskname', 'taskinfo' ]);
return view ('tasks.index')->with('tasks', $tasks );

 

などと書いてやれば、全件取得し、view側に変数を名称指定で放り込める。あとはblade.php側で ループ処理絡めて表示させればよい。マスタデータなんかは、このノリで問題ないな。

この場合、balde側ではForm::selectなんかは使えないかも。それでなくても、タグべた書きでloopさせる方が、むしろ記述としてもわかりやすい気がするなー。

 

→使えたw

{!! Form::select('tsk', ['0' => '選んでね!'] + array_pluck($tasks, 'taskname', 'id'), $tsele, ['class' => 'form-control', 'id' => 'tsks' ] ) !!}

 

ふーむ。悪くない。なるほど、便利だね!