見出し画像

3/7.log

log

今日は午前中少しだけ来週の準備をしていて記事を書いたりしていました。それ以降は研究なりプログラミングなりをしていました。

ここまで時間をかけることができたのは久しぶりですね。どうしても土日にしか長時間は取れないです。

今日の進捗としてはまず金曜日?に書いた通りまだ回答が開始されていないアンケートに結果表示のリクエストがきた時のバリデーションエラーを作成していました。金曜日に書いたような気がするのですが実は日付のどころでバリデーションに必ず失敗すると言ったバグが出ていたのでその修正から入りました。

日数を開けただけあって先入観なしでコードを見ることができたのですぐに原因がわかりました。

実はDBからはクエリビルダーを使って最低限のカラムのみを取得していたのですがその返り値が自分の想定と違っていたみたいです。クエリビルダからは必ずオブジェクトが帰ってくるのを忘れていました。

もう少し具体的に言うと

たとえばこのようなクエリを発行した場合

DB::('table')->select('name')->...->first();

今勝手に書いたものですが今回はテーブルから一つの情報しか必要なくgetした場合Laravel側では帰ってくる要素の数が不透明なのでコレクション型で帰ってきます。それが嫌なので今回は最初の要素といった感じで一つの要素であることを確定させています。

この場合の返り値はこのようになります。

{
    name : 'my name',
}

このようには帰ってきません。

my name

つまり要素が一つであってもオブジェクトで帰ってきます。これをずっと文字列のみだと思っていてifをかけていたのですが必ずfalseが帰ってきてしまい思っていた挙動をしてくれていませんでした。

次はその設定をフロントエンドにも反映させていました。当初は例外が帰ってくることを想定しいなかったのでその対処ですね。それと同時に今まではクライアントサイドでapiを叩いていたのですがSSRに対応させました。人によって変わるようなページではないのでSSRが良いと思いました。

それからはコンポーネントが大分増えてきたので自分が思い付いた方法でコンポーネントのフォルダ分けをしていました。この方法についてはまた記事で紹介したいとおもっています。

今日はかなり進みました。来週も頑張っていきます!

この記事が気に入ったらサポートをしてみませんか?