連載期間16年

『ダイヤのA』が先日完結したということで、公式アプリで『ダイヤのA act2』が30巻分くらい無料で読めるようになっていました。

そのため絶賛ブーム中です。

act2は主人公2年生編となり、強くなって大活躍する沢村くんが見られるので後半は特に熱いです。

アニメも最初のあたりを少し見たくらいだったので、1話から見返そうと思ったところ話数が多すぎて驚きました。

  • 1期 75話
  • SECOND SEASON 51話
  • act2 52話

知らないうちにこんなにやってたんですね。長い道のりだなあ。

のんびり見ていこうと思います。

今回は、業務で参考にしたクエリビルダについてです。(クエリビルダというよりSQL?)

「Aにデータが入っていた場合はAから、入っていなかった場合はBからデータを取ってくる」というようなことがしたいとき、以下のようにすると取ってくる段階で場合分けができます。

			DB::raw("CASE
				WHEN a_users.sei IS NULL
				THEN b_users.sei
				ELSE a_users.sei
				END as sei"),

下記は、データベースに姓、名と別々に登録されているものを結合して取ってくる場合です。

ifnull関数を利用すると、第1引数に指定した内容がNULLのとき、第2引数の値を返します。

concat関数で文字列の結合ができます。

			DB::raw('concat(ifnull(con_consumers.sei, con_prospect_consumers.sei), " ",
			ifnull(con_consumers.mei, con_prospect_consumers.mei)) as name'),

これで苗字と名前が半角スペースで区切られた状態で ’name’ として取得できます。

便利ですね。