コードロード

エラー討伐

2022-01-01から1ヶ月間の記事一覧

【SQL】CASE式で条件分岐を表現

SQL

達人に学ぶSQL徹底指南所の学習記録です。 やってること ラベルの読み替えを行なっているだけ。 要点 CASEは「式」だから、列名や定数をかける場所には常にかける 集約関数の中で使うことで、行持ちから列持ちへの水平展開が可能 逆に、集約関数を条件式に組…

【PHP・mysqli】INSERTしたレコードの主キーを取得

php

やりたかったこと mysqliで直前にINSERT処理で追加したレコードの主キー(id)を取得したかったのでメモ。 実装方法 mysqli::$insert_id を使う。 直前のクエリで更新された AUTO_INCREMENT フィールドの値を返します。接続での直前のクエリがない場合や ク…

【PHP】Content-Typeがapplication/jsonのPOSTから値を取得する

php

課題 PHPで $name = (string)filter_input(INPUT_POST, 'name') でPOSTの値を取得できない。 原因 $_POST() または (キャスト)filter_input(INPUT_POST, 'key') では、そもそも application/json を取得できない。 公式リファレンスでは下記のように書いてあ…

【SQL】WHERE句は演算子で条件をつけなくても良い

SQL

前提 テーブル内の全レコード数を取得したかった。 id が PRIMARY キー 途中で DELETE されてるレコードもあるので id が不連続となっている。 そのため、 ORDER BY id DESC LIMIT 1 で id の値がそのままレコード数というわけにもいかなかった。 概要 今ま…

【SQL】サブクエリに「AS」でエイリアスをつけないとEvery derived table must have its own alias

やろうとしたSQL ページネーションを作ろうと思って書いたSQL SELECT * FROM (SELECT * FROM samples WHERE id < 30 ORDER BY id DESC LIMIT 1) UNION ALL SELECT * FROM (SELECT * FROM samples WHERE id >= 30 ORDER BY id ASC LIMIT 6) エラー Every deri…

【Vue.js】selectタグの初期値を設定する方法(htmlでいうplaceholder)

結論 参考 結論 selectタグ内に、v-modelで初期値となる値が入るように設定してあげる。 v-model="friend_genreIdSelected" もちろんscript内にも下記のような記述をしてあげる。 <script> ・ ・ export default { data() { return { friend_genreIdSelected:'友人',</script>…

【Rails×Vue】ログイン機能で使うJWT(JSON Web Token)

過去の実装したが、ロジックを忘れてしまっていたので振り返ってみた。 アプリはRails6.0.3.6とVue2.6.12で実装したものだ。 トークンベースの認証とは JWTとは JWTのメリット JWTの注意点 JWTで認証する流れ JWT発行の流れ 認証tokenを検証するときの流れ …

【AWS】No space left on deviceサーバーの容量不足エラーのときの対処法

結論 どうするか 手順 EC2の使用量をチェック ボリュームの容量を変更 ファイルシステムの拡張 参考 RailsアプリをAWSにデプロイしようとしたら詰まって2日間格闘した。 bundle exec cap production deploy しようとしたら、 No space left on device とエラ…

【Rails×Capistrano】自動デプロイしようとしたら「ArgumentError: Missing `secret_key_base` for ‘production’ environment, set this string with `rails credentials:edit`」

エラー ArgumentError: Missing `secret_key_base` for ‘production’ environment, set this string with `rails credentials:edit` 結論 この記事通りにやればうまく行った。 qiita.com 原因 上の記事でも述べられているように、私も同じく下記の記事通りに…

【Rails×Capistrano】自動デプロイ中に「SassC::SyntaxError: Error: File to import not found or unreadable: ~bulma/bulma.」エラー

エラー 環境はRails 6.0.3.6、Ruby2.7.2、Vue 2.6.12 SassC::SyntaxError: Error: File to import not found or unreadable: ~bulma/bulma. on line 16:1 of app/assets/stylesheets/style.scss >> @import "~bulma/bulma"; 結論 パスを明示的に全部記載して…

【Rails×Capistrano】Gemfile not found (Bundler::GemfileNotFound)

解決方法 app/config/unicorn/production.rb に下記を追記 before_exec do |server| ENV["BUNDLE_GEMFILE"] = File.join(File.expand_path("../../../../", __FILE__), "current", "Gemfile") end ローカルにて下記コマンドでunicornをSTOPしてSTARTしてあげ…

【PHP】小数点以下の桁数を指定して切り捨てる方法(floor、number_format、sprintf)

php

やりたいこと 課題 結論 number_formatとsprintfの挙動 number_format sprintf やりたいこと ある桁数以下は切り捨てて、それより上の桁数で値を返したかった。 例えば、小数点第三位以下は切り捨てて、小数点第二位までを返したい。 課題 ググると、 floor …