LaravelからMySQLに接続する 環境情報 ・PHP 7.1.23 ・CentOS Linux release 7.4.1708 (Core) ・MySQL 5.6.39 "could not find driver"が私を襲う 背景 元々sqliteで環境を作っていたが、あまりにサーバの動作が安定しないためMySQLにすることにした。 これが悲しみの正体である 良く書かれているようなコマンドは叩いた。
PHPフレームワークのLaravelでは、default timezoneがUTCになっています。 設定を変えずにそのまま運用してしまうとアプリケーションが扱う日時がおかしくなってしまいます(ログに吐かれる日時や、DB Recordのcreated_at/updated_atなどが9時間前ずれてしまう、など)。 timezoneの変更方法 config/app.php に設定ファイルがあるじゃろ? これを ( ^ω^) ⊃) (⊂ /* |-------------------------------------------------------------------------- | Application Timezone |-------------------------------------------------------------------------- | |
Laravelっぽくリレーションシップを使うのであればEloquentのRelationshipを使うことになるでしょう。 いくつかのパターンがありますが、ここでは利用頻度が高いOne To Many(hasManyとbelongsTo)を見てみます。 また、わざわざ定義をModelに書かなくても、普通にJOINも使えますのでそれも見てみます。 その他のパターンについては、本家サイトを見て下さい。 ##準備:テスト用のテーブル情報 まず、テスト用のテーブルを用意します。 ここでは、別の記事で利用したテーブルを利用して、テストをしてみたいと思います。create情報などもあるので、必要な人はどうぞ。 テストに利用するテーブルの情報は以下の通りです。 ###概要 部署テーブル(depts)と社員テーブル(employees)が存在。 社員テーブルでは所属部署をdept_idで管理(紐付け)して
SELECT * FROM tbl_data WHERE (column_a = 'hoge' or column_a= 'piyo') AND (column_b= 'foo' or column_b= 'bar'); $query = TblDatum::where(function($query){ $query->orWhere('column_a', '=', 'hoge') ->orWhere('column_a', '=', 'piyo'); })->where(function($query){ $query->orWhere('column_b', '=', 'foo') ->orWhere('column_b', '=', 'bar'); }); $query = TblDatum::where(function($query) use ($hoge, $piyo) {
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く