withアプリーチLaravelにおけるデータベース操作機能の1つ「クエリビルダ」の使い方とメリット、CRUDの記述方法をまとめていきたいと思います。クエリビルダとは?Laravelではデータベースを操作する機能が複数用意されています。データベース操作する機能DBクラスDBクラス(クエリビルダ)Eloquent(エロクアント)いずれの機能を使うにもまずはLaravelとデータベースの紐付けは必須です。以下記事を参考にして紐付けを完了させておいてください。おすすめ記事:【Laravel】MAMP(MySQL)でデータベース接続をする方法!エラーも解決その中でもクエリビルダはSQL言語を使わずphpを扱うかのようにデータベース操作ができるようになっています。Eloquent(エロクアント)と違い前準備の必要がなく簡単に使えるのもメリットの1つと言えます。返り値がコレクションに格納されるクエリビルダでのデータベース操作は名前空間Illuminate\Support\Facades\DBに定義されているDBファサード(クラス)のメソッドを使って実行していきます。ファサードとは共通で使えるように定義してあるクラスに対して安全に使えるように中継してくれている機能(静的プロキシ)のことです。DBクラスはCRUDに応じた静的メソッドを使用しますがクエリビルダでは静的メソッドtableのみを使用します。そこからメソッドチェーンで繋いでデータベース操作のステートメントを構築します。おすすめ記事:【Laravel】DBクラスの使い方とメリットとは?CRUD処理とSQL文tableメソッドを使用すると指定されたテーブルのクエリビルダインスタンスを返します。ここからビルダの決められたメソッドを呼び出すことで内部的にSQL文を構築してくれる仕組みになっています。返り値がDBクラスはstdClass/クエリビルダはCollectionDBクラスとの大きな違いはSQL文を使うか使わないかです。SQL文が得意な人はDBクラスのそれぞれCRUDメソッドを使って処理するのがわかりやすく楽かもしれません。クエリビルダの使い方クエリビルダを使用するにはファイルの上部にuse文を追加してDBクラスを使えるようにしておきます。これでDBクラスのCRUDメソッドとクエリビルダ両方が使えるようになります。Illuminate\Support\Facades\DB;実際の使用例を見てみます。これは全レコードを取得する際のステートメントです。DB::table('テーブル名')->get();tableメソッドの引数には取得したいテーブル名を渡します。これで指定したテーブルを操作するクエリビルダが返ってくるのでgetメソッドを使ってレコードを取得することができます。(SQLのselect文)戻ってくるのはコレクション(collection)形式の配列です。コレクション(collection)とはLaravel独自の配列操作を拡張できる形式で、その中にstdClassとして各レコードの値がオブジェクト形式に整形されて格納されています。object(stdClass)#279....DBクラスのselectメソッドを使用した場合はcollectionに格納されずstdClassが返ってきます。(8)...クエリビルダのCRUD処理の記述方法クエリビルダにおいてのデータベース操作の基礎、CRUD(クラッド)処理の記述方法を見ていきます。Create→insertメソッドRead→getメソッドUpdate→updateメソッドDelete→deleteメソッドCreate→insertメソッドレコードを新しく挿入するにはinsertメソッドを使用します。DB::table('テーブル名')->insert(データ配列);挿入する値を配列で一度作成し、insertメソッドの引数に渡せばOKです。'Laravel',];DB::table('テーブル名')->insert($param);Read→getメソッドレコードの値を取得するにはgetメソッドを使用します。引数に何も指定しなければ全カラムを取得します。DB::table('テーブル名')->get();getメソッドの引数にカラム名を指定すれば希望の行だけを含んだレコードを取得することも可能です。->orWhere("カラム名","値");Update→updateメソッドレコードの値を更新するにはupdateメソッドを使用します。DB::table('テーブル名')->update(データ配列);挿入する値を配列で一度作成し、updateメソッドの引数に渡せばOKです。->update($param);Delete→deleteメソッドレコードを削除するにはdeleteメソッドを使用します。->delete();まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。ご覧いただきありがとうございました。友達や家族の誕生日を登録しておくと当日に通知が届きお知らせしてくれるiOSアプリです。貸し借り管理アプリお金の貸し借りを管理するためのアプリです。貸借の色が分かれているので識別しやすく、使いやすさを求めてできるだけシンプルなUIにしています。カシホン人に貸すことが多く、誰に貸したか忘れがちな本の貸し借りを記録できるアプリです。