最初にモデルとマイグレーションファイルを作成してEloquentを使う準備をします。そのあとに実際に使用して、動作を確認します。Laravelのバージョンは8で、動作確認しています。目次LaravelのEloquentとはEloquentを使ってみる(Modelを作成する)作成したマイグレーションファイルを確認・修正するマイグレーションファイルを修正する修正したマイグレーションファイルを適用する作成したモデルを確認・修正するモデルファイルの修正Eloquentで追加(インサート)するmodelのsaveメソッドで追加(インサート)するmodelのcrateメソッドで追加(インサート)するEloquentで更新(アップデート)するmodelのsaveメソッドで更新(アップデート)するmodelのupdateメソッドで更新(アップデート)するEloquentで取得(セレクト)するfindメソッドを使用して、取得するfirstメソッドを使用して、取得するfindOrFailメソッドを使用して、取得するgetメソッドを使用して、取得するEloquentで削除(デリート)する終わりにLaravelのEloquentとはLaravelのEloquentとは、Laravelで使える標準のORマッパーです。mapping)はデータベースをプログラムから使っていくときに、データの取得や追加更・新などを簡単に行えるような機能になります。実際に使ってみた方が理解できます、実際に使って動作を確認してみましょう。Eloquentを使ってみる(Modelを作成する)Fruitテーブルを作成して、Eloquentを使用してデータ操作をしてみます。下記のコマンドで、FruitテーブルにアクセスするFruitモデルを作成します。–migrationをオプションをつけることで、fruitsテーブルのマイグレーションファイルの作成をしてくれます。--migrationコマンドを実行すると、このように表示されます。2020_10_07_003725_create_fruits_tablelaravelのmigrationについては、こちらの記事に書いています。LaravelのmigrationまとめLaravelのmigrationを包括的にまとめています。マイグレーションの作成から始まって、マイグレーションのコマンド一覧、カラムを追加する方法・カラムの属性を変更などです。codelikes.com2020.07.08作成したマイグレーションファイルを確認・修正する作成されたマイグレーションファイルは、下記のようになっています。database/migrations配下に[日付]_create_fruits_table.phpで、ファイルが作成されます。}upメソッドがmigrateをしたときに動いて、テーブルを作成してくれます。downメソッドはrollbackをしたときに動いて、テーブルを削除します。初期ではidとtimestampしかないので、テーブルを修正してカラムを追加します。マイグレーションファイルを修正するupメソッドを下記のように修正しました。名前(name)・色(color)・価格(price)のカラムを増やしてみました。$table->timestamps();});修正したマイグレーションファイルを適用するこのコマンドで適用します。migrate実行すると、こうなります。(0.96ms)作成したモデルを確認・修正する作成したモデルを確認すると、下記のようになっています。モデルファイルの修正$filterableを設定して、データが登録できるようにします。$filterableを設定する内容は、データをユーザーが入れていいカラムを指定します。下記のように修正しました。'price'];}Eloquentで追加(インサート)する作成したモデルを使って、Eloquentでデータの追加を試します。データを追加(インサート)する方法は、2種類あります。modelのsaveメソッドで追加(インサート)するmodelをnewした後に、それぞれのプロパティに値を設定して、saveメソッドを呼び出すことでインサートできます。$fruit->save();}modelのcrateメソッドで追加(インサート)するmodelのcreateメソッドを呼び出して、引数に渡した内容をインサートします。記載する行数が少なく見やすいので、通常はこちらを使うといいかと思います。]);}Eloquentで更新(アップデート)する作成したモデルを使って、Eloquentでデータの更新(アップデート)を試します。データを更新(アップデート)する方法は、2種類あります。modelのsaveメソッドで更新(アップデート)するmodelのデータをひとつ取得した後に、それぞれのプロパティに値を設定して、saveメソッドを呼び出すことで更新(アップデート)できます。$fruit->save();}modelのupdateメソッドで更新(アップデート)するmodelからwhereでデータを検索して、updateメソッドで更新すると対象のデータが全て更新されます。見やすくて書きやすいので、更新も通常はこちらを使うほうがいいと思います。]);}Eloquentで取得(セレクト)する作成したモデルを使って、Eloquentでデータの取得(セレクト)を試します。下記のデータがテーブルに存在する状態で試してみます。130findメソッドを使用して、取得するfindメソッドを使って検索すると、主キー(id)の値が作成されたModelのインスタンスで返ってきます。Fruit::find(5);$appleに返ってきているのは、値が格納されたModelのインスタンス。ddで表示すると、下記のような状態です。toArrayメソッドで配列が取得できます。ddで表示させると、下記のようになります。"2020-10-08T05:28:37.000000Z"]firstメソッドを使用して、取得するfirstメソッドを使うと、複数あった場合は最初の1件のみ取得できます。条件にあう値がなかった場合は、nullになります。'banana')->first();findと同じように、Modelのインスタンスが返ってきます。結果をddで表示させると下記のようになります。null]findOrFailメソッドを使用して、取得するfindOrFailメソッドを使って検索すると、主キー(id)の値が作成されたModelのインスタンスで返ってきます。findメソッドと違うのは、値が取得できない場合はException(例外)を投げます。使いどころとしては絶対にあるはずのデータで、なかったらエラーにしたほうがいい場合は、これを使う感じですね。"2020-10-12T05:11:07.000000Z"]getメソッドを使用して、取得するgetメソッドを使うと、whereなどの条件で紐付けたデータを複数取得します。'grape')->get();データはCollectionに格納されて、返ってきます。ddで表示すると下記のような感じです。[▶]}CollectionをtoArray()して確認すると、下記のようにデータが出力されています。]]Eloquentで削除(デリート)する作成したモデルを使って、Eloquentでデータの削除(デリート)を試します。Modelインスタンスのdeleteメソッドを呼べば削除されます。削除できた場合はtrueが返ってきます。idが5のappleを取得して、削除する場合はこのようになります。Fruit::find(5)->delete();findOrFailでもデータが取得できれば、deleteが呼べます。Fruit::findOrFail(7)->delete();複数削除する場合は、下記のようにwhereで絞った後にdeleteメソッドを呼びます。'grape')->delete();論理削除する方法は、こちらにまとめました。LaravelのEloquentで論理削除を使う方法!LaravelのEloquentを使用して、論理削除をする方法を記載しています。マイグレーションを作成して、論理削除の設定を追加して、実際に削除を試してみました。Laravelのバージョン8で動作確認しています。論理削除を含めたテーブルをマ...codelikes.com2020.10.19終わりにEloquentの基本的な使い始め方と、実際に使用した場合の例を書いてみました。SQLを実行するよりも簡単にデータベースの操作ができますね。Laravelを使う利点のひとつだと思います。今回は書いていませんが、他にもサブクエリを書いたり、他のテーブルをjoinしたりもできます。独学に限界を感じたら、オンラインで学んでみよう!本当にわからない場合は、知っている人に聞くと近道になります。・PHP/Laravelのおすすめプログラミングスクール5選!PHP/Laravelのおすすめプログラミングスクール5選!PHPやLaravelが学べるプログラミングスクールを5つ選んで比較してみました。総合的にみると、Freeksがサブスク型で始められて、就職支援まで行ってくれるので良さそうでした!PHP/Laravelが学べるプログラミングスクール5選ゲス...codelikes.com2022.10.15LaravelシェアするTwitterFacebookはてブPocketLINEコピーyasuakiをフォローするyasuakiコードライクLaravelLaravelのBreezeを使って、ログイン認証画面を作成する方法!LaravelのBreezeを使って、ログイン認証画面を作る手順について書いています。最初にBreezeのダウンロードや必要な準備について書いていて、そのあとにデフォルト・Vue・Reactそれぞれで使用した場合にどうなるか試してみました。...LaravelLaravelのModelの使い方まとめ!LaravelのModelの使い方について解説しています。載せているコマンドやサンプルコードは、Laravelのバージョン9.0.2を使用して確認しています。モデルを使用して、実際にEloquentでデータを取得したり、追加したりする方法に...LaravelLaravelのバリデーションで使える標準ルール11選!Laravelのバリデーションで使える標準のルールで、よく使っているルールの11個について解説しています。ここに上げているバリデーション以外の詳細は、公式のこちらに書いているので確認してみてください。Laravelのバリデーションルールのま...LaravelLaravelでEloquentを使わずにSQLを実行する方法!LaravelでEloquentを使わずに、DBファサードを使用してSQLを実行する方法について書いています。公式サイトのこちらに書いている内容になります。DBファサードを使用して、SQLを実行する準備DBファサードを使用することで、Elo...LaravelLaravelのバリデーションについての記事5つ!LaravelでValidation(バリデーション)をする方法について書いている記事を5つまとめてみました。簡単な記事の説明と内部リンクを貼っています。内容としては下記になります。・通常のバリデーション・フォームリクエストでのバリデーショ...LaravelLaravelフレームワークをバージョンアップする方法まとめ!Laravelのフレームワークをバージョン6からバージョン10まで、バージョンアップする方法について書いています。基本的には公式ドキュメント(laravel.com)のアップグレード手順に従ってアップデートすると大丈夫です。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Δプロフィールyasuaki福岡でフリーランスをやってます。業界歴13年になりました、SESで働くことがほとんどです。なんでもやってますが、Webが得意です。このブログではプログラミング技術の内容を中心に、たまに商品レビューとかを書いています。目次LaravelのEloquentとはEloquentを使ってみる(Modelを作成する)作成したマイグレーションファイルを確認・修正するマイグレーションファイルを修正する修正したマイグレーションファイルを適用する作成したモデルを確認・修正するモデルファイルの修正Eloquentで追加(インサート)するmodelのsaveメソッドで追加(インサート)するmodelのcrateメソッドで追加(インサート)するEloquentで更新(アップデート)するmodelのsaveメソッドで更新(アップデート)するmodelのupdateメソッドで更新(アップデート)するEloquentで取得(セレクト)するfindメソッドを使用して、取得するfirstメソッドを使用して、取得するfindOrFailメソッドを使用して、取得するgetメソッドを使用して、取得するEloquentで削除(デリート)する終わりにPHP/Laravelの学習におすすめの本を選定!・PHPの学習におすすめの本6選!【現役エンジニアが選定】PHPの学習におすすめの本6選!PHPの学習におすすめの本を6つ紹介しています。Laravel・CakePHP・SymfonyなどのWebフレームワークやWordPressなどに使われているPHP。フレームワークの内部のコードや、使用されているシステムのコードを理解するた...codelikes.com2022.08.04・Laravelの学習におすすめの本3選!【現役エンジニアが選定】Laravelの学習におすすめの本3選!(本が必要?)今回はLaravelの学習にオススメの本を3つ紹介しています。学習するにあたって本が必要か考えてみました。Techpit前半はPHPのみでEvernote風メモアプリケーションを開発し、後半は同じものをLaravelで開発する。フレームワークを使用しない場合の開発と、Laravelのメリットを実際に開発することで体感。開発を通じて、簡単なアプリケーションの作り方やSQLの書き方、dockerの使用方法などを学ぶ。商品レビューゲーム食レポお問い合わせホーム検索トップサイドバータイトルとURLをコピーしました。