MENU
  • 私たちについて
    • 会社概要
    • メッセージ
    • Mission, Vision, Value
  • サービス
  • 選ばれる理由
  • 業務実績
    • お客様の声
  • お役立ち資料
    • 資料ダウンロード
    • ブログ
  • お問い合わせ
サービス
  • テスト代行サービス
  • まるごと顧客管理
  • Simple入金消込み
  • プログラミングスクール
  • まちある佐世保
各種情報
  • お知らせ
  • ブログ
  • 採用情報
  • Wantedly
  • 利用規約
  • プライバシーポリシー
  • 特定商取引に基づく表記
株式会社みんなシステムズ
  • 私たちについて
    • 会社概要
    • メッセージ
    • Mission, Vision, Value
  • サービス
  • 選ばれる理由
  • 業務実績
    • お客様の声
  • お役立ち資料
    • 資料ダウンロード
    • ブログ
  • お問い合わせ
株式会社みんなシステムズ
  • 私たちについて
    • 会社概要
    • メッセージ
    • Mission, Vision, Value
  • サービス
  • 選ばれる理由
  • 業務実績
    • お客様の声
  • お役立ち資料
    • 資料ダウンロード
    • ブログ
  • お問い合わせ
  1. ホーム
  2. ブログ
  3. チーム紹介:エンジニアI

チーム紹介:エンジニアI

2022 11/02
2023.3.6

初めまして、エンジニアのIです。

私は7月1日にみんなシステムズに入社しました。

以前は工場の現場作業を担当していました。

未経験での入社だった私ですがここに至るまでに、オンラインスクールでRailsを5ヶ月学び、
その後ポートフォリをを作成し転職活動2ヶ月半を経て何とか内定を頂くことができました。

そんな私ですが以前はRailsで学習をしていましたので
Laravel歴は3ヶ月ちょっとで日々苦労をしております。

中でもこれはLaravelに限った話ではないのですがSQLに苦戦しております…

なので今回はアウトプットも兼ねてこの場を借りて最近覚えた事を書いてみようと思います。

目次

前置き

ClassRoomモデル

カラム:id, name

Studentモデル

カラム:id, class_room_id, name

Profileモデル

カラム:id, student_id, age, gender

この様な3つのテーブルを用意しました。

ClassRoomとStudentは一対多

StudentとProfileは一対一

となっています。

ClassRoomモデルのidが1の物を取得する場合

$classRoom = ClassRoom::where("id", 1)->first();
dd($classRoom);

至って普通ですがこの様に取得できます。findでも問題ないです。

この時に以下の様にした場合は

$classRoom = ClassRoom::where("id", 1);
dd($classRoom);

出力はこの様になります。

この状態ではモデルの中身を見る事ができません。

最近教えて頂いたのですがこの段階ではまだクエリが発行されていないのです。

なのでモデルも取得できていません。

$classRoom = ClassRoom::where("id", 1);
dd($classRoom->first());

とすれば先程の様に出力されます。

クエリのデバッグ方法

クエリのデバッグについても教えて頂いたので書いていこうと思います。

先程のコードに

$classRoom = ClassRoom::where("id", 1);
dd($classRoom->toSql());

としてやると

どの様なクエリが発行されるか確認する事ができます。id = ?の部分はプリペアドステートメントという物です。説明は難しいので省きます…

次に先程の部分をgetBindingsに変えてみます。すると以下の様になります。

$classRoom = ClassRoom::where("id", 1);
dd($classRoom->getBindings);

これはクエリで検索する際に渡された値を確認する事ができます。

その他にクエリ中にdd()やdump()も使えるそうです。

そうすると上2つの値が同時に出力されて便利です。

ClassRoom::where("id", 1)->dd();

その他 ddの例

リレーションの事も書きたかったのですが長くなりそうなので今回はここまでにしておきます。

普段アウトプットは自分のメモくらいにしかしないので

この様にブログにするのは難しいと実感しました・・。

これからも解らない事は多いですが業務に励んでいこうと思います!

  • チーム紹介:岩上颯太
  • チーム紹介:白石美紀
株式会社みんなシステムズ

【本社東京オフィス】
〒130-0021 東京都墨田区緑3-1-14 外山ハイツ502
【本店佐世保オフィス】
〒857-0052 長崎県佐世保市松浦町5-13 グリーンビル205
【営業時間】
平日10:00〜19:00
【電話番号】
0800-300-5705(フリーダイヤル)
【メールアドレス】
info@minna-systems.co.jp

サービス
  • テスト代行サービス
  • まるごと顧客管理
  • Simple入金消込み
  • プログラミングスクール
  • まちある佐世保
各種情報
  • お知らせ
  • ブログ
  • 採用情報
  • Wantedly
  • 利用規約
  • プライバシーポリシー
  • 特定商取引に基づく表記

© 株式会社みんなシステムズ.

目次