LaravelにてDBクエリの書き方の勉強方法について

PHP | MySQL27閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

アンサーありがとうございます。 はい、私のやりたいデータの表示というのが、そこまで超複雑ではないと思うのですが、それでも書き方がわからない。WEB上で質問をしてもなかなか回答もつかないという状態です。 やっぱり生で勉強しないとなんだなとは思っていました。 わかりました。SQLの勉強ですね。取り組みます。ありがとうございました。 あと、このSQLをLaravelの中に組み込むための練習&学習のアドバイスなど教えてください。

ThanksImg質問者からのお礼コメント

不安が解消されました!本当にありがとうございました!

お礼日時:7/24 21:49

その他の回答(4件)

0

LaravelのDBアクセスというと、 ・クエリビルダ ・エロクェント(単にエロとも) の2つですが、だいたいの使い方としては、普段づかい(CRUD)は全部エロで、それ以外の集合的なクエリ(一括削除や複合検索)はクエリビルダを使います。 おっしゃっているSQLとの関係は、クエリビルダの世界だとおもいますが https://readouble.com/laravel/8.x/ja/queries.html ここに全部書いてありますが。。 手書きする程度のSQLなら、クエリビルダで作ったほうが10倍楽で早いんだから、俺らはSQLの直書きを禁止しています。 つかえばすぐ、PDOをSQLを直に叩くなんて、トロくてやってられなくなります。まあ原始的なほうがなにかとわかりやすいですが、素のSQLなんか、今やバグの巣窟だとおもいますね。

0

IDE 環境を手に入れましょう。 「ここまで入力した。返り値からはどんなメソッドが生えていて,それに何を渡したら良いか?」 っていうのを全部教えてくれます。機能貧弱なテキストエディタで書いているのであれば,今すぐ用意すべきです。勘で「->groupBy() とかあるかな?」と思って,「->g」まで書いて本当に存在していたら入力候補出してくれますよ。初心者ほど恩恵が大きいと思います。 ・PhpStorm (JetBrains 系・PHP 特化) → ほぼ無設定で使えて最強だけどお金はかかります。社会人の新米エンジニアなら会社に買ってもらうのが吉 ・IntelliJ iDEA (JetBrains 系・汎用) → PhpStorm よりは設定が必要だけどそれでもラク。これ1個で幅広い言語に対応できる最強の IDE。PhpStorm よりもちょっとだけ高価です。 ・Eclipse PDT → 昔は完成度が低かったけど,最近はだいぶ改善された模様。無料で使えますので,お金を用意するのが難しいならまずここから入ればいいと思います。 ・NetBeans → 最近落ちぶれた感あるけど,PDT が合わなければこちらも試してみてください。こちらも無料です。 ・VSCode → 素だと全然ダメ。プラグインをいっぱい入れて,ようやく PDT に追いつけるかなーってとこ。最近流行ってるけど, PHP 開発においては 2 流ぐらいの印象です。

1つ1つ詳しく教えていただいてありがとうございます。教えてくれるのはいいですね、すごくいいです!なるほどIDE環境ですか・・・私はsublimeテキストをずっと使っていたのですが、今回を機にPhpStormを買ってみようかなと思いました。他の言語もやってみたいのでInteliJもいいなと思うのですが、その設定というのはかなりハードルが高いのでしょうか?

0

LaravelのDBアクセスは、大きくわけて2つの方法があります。 1つはクエリビルダを使う方法、もう1つはEloquent ORM(モデル)を使う方法です。 https://readouble.com/laravel/6.x/ja/queries.html https://readouble.com/laravel/6.x/ja/eloquent.html 前者はDBハサードのtableメソッドでクエリを組み立てます。 比較的処理が早いのが利点ですが、Laravelモデルの機能が使えません。 後者はテーブルをオブジェクトとして扱い、リレーションなどの強力な機能を活用できます。 質問文にはDBクエリと書かれていますが、これはEloquentを使っているんですよね? モデルの概念は、オブジェクト指向で実装した経験がないと、なかなか理解しにくいと思います。 もう慣れてくれとしか言えません。 でも、モデルを使えるようになると、めちゃくちゃ便利です。 いちいち長ったらしいコードなんか書いてられなくなります。 他の回答者さんが言われるように基本はSQL。 ORMと言いながらも、モデルを書くときは実行したいSQLを想像するものです。 なので、SQLの基礎を押さえておく必要があります。 とは言っても、最初はSELECTの書き方を知っておく程度で充分です。 最終的に生成されるSQLをログに出力されるようにしておくことをおススメします。 https://qiita.com/ucan-lab/items/753cb9d3e4ceeb245341 自分が書いたコードとSQLと見比べれば、より理解が早まるでしょう。

詳しく教えていただいて本当にありがとうございます。これからどう取り組んだらいいか見えてみました!なるほど慣れや、SQLの基礎なんですね。SQLのログ出力こんなのがあるのですね!どうもありがとうございました!!!

0

>条件を増やしたりしたときや、GROUPBYなど、自分のケースに当てはめて文法を組み立てる方法がわからず困っています。 >はい、私のやりたいデータの表示というのが、そこまで超複雑ではないと思うのですが、それでも書き方がわからない。WEB上で質問をしてもなかなか回答もつかないという状態です。 リファレンスをなんで読まない?