FuelPHPによるMVCプログラミング入門

Model_Crudクラスを利用する2

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Model_Crudには、検索のためのメソッドがいくつか準備されています。また、データの保存や削除などについても紹介していきましょう。
講師:
09:05

字幕

ここでは Model_Crud クラスを利用するの2つ目としまして前のレッスンで作ったModel_Crud クラスの各メソッドの使い方を引き続き紹介していきたいと思います。このレッスンは前のレッスンからの続きとなりますので是非前のレッスンから引き続き行ってみて下さい。プロジェクトとしても1つ前のレッスンと同じものを使っていきます。find_by_pkそれから find_allというメソッドをご紹介しましたがこの他にも、この Model_Crud クラスにはメソッドが準備されています。例えば、find_by_pk というのはこちらの PRIMARY キーを使ってしか検索をすることができません。しかし、データベースの魅力というのは様々な条件で検索を素早く行うことができるというのが魅力です。例えば、名前順に並べ替えたりPrice をある一定の条件で検索をしたり、ということが可能です。例えば、ここでは価格が70円以上つまり60円よりも上の商品だけを取り出す、というような条件を作ってみたいと思います。つまり、「いちご」と「りんご」が検索でヒットするような検索条件を作るという訳です。Model_Crud クラスで、そのような複雑な条件を作る場合はfind_by というメソッドを使っていきます。 find_by は幾つかのパラメーターをとります。まず検索に使うカラムフィールドの名前を指定します。ここでは、価格なのでprice を指定しましょう。そして次に value です。どのような値を基準とするかとなりますのでここでは、60円よりも上という条件を示すために2つ目のパラメーターに60とします。3つ目が operator です。ここの price と、そして60を比べた時にどのような条件で比べたいのかということを指定します。ここでは、price が60よりも上ということなので小なり 記号を指定しました。第4パラメーター及び第5パラメーターにはfind_all と同じ limit つまり変数の制限と offset読み飛ばす件数を指定することができます。ここでは、これらは指定せずに3つのパラメーターで行きましょう。今回の場合は複数件数ヒットしますのでこちらは rows になってview の index.php の方もあらためて、この様にforeach が必要になってきます。r としてr の r としましょう。これで view が出来上がりました。では、表示を確認していきます。MAMP の環境設定が変わっていることを確認してこちら、ページにアクセスします。 すると、この様に「いちご」80と「りんご」が120ということでこの60円である「バナナ」は除外されています。条件を少し変えてみましょう。price を今度は80より上としますとどのようになるでしょうか。こちら、ページを再読み込みしますと今度は「りんご」だけが取得されるようになりました。では今度は operator も変えてみましょう。100円以下という条件に変更するとどうなるでしょうか。この様に「いちご」と「バナナ」がヒットしました。ということで、この大なり小なり等を使った様々な条件というのをfind_by というのを使って行うことができます。また、ここでは解説を省略しますがfind_1_by という風にすることもできます。これは最終的に operator で検索した結果が1件だけになる、ということが確実にわかる場合に使えばこの様に1件だけ find_by_pk と同じように1件だけ検索という様なこともできます。どんな時に使うかと言いますと例えば、item_name が「バナナ」のデータを取得したいという場合に、この様に指定すればこれは確実に1件だけがヒットすることがわかりますのでfind_1_by を使った方が操作が楽になるかもしれません。 特に無理に使う必要はありませんのでfind_by として1件だけを扱うというようなことも可能です。find には、この様にfind_by、find_all、find_1_byそして find_by_pk というそれぞれのメソッドがあります。目的に応じて使い分けるようにすると良いでしょう。では、他のメソッドもご紹介していきます。この Model_Crud クラスにはこの検索の他にもcreate や delete といったようなことも可能です。それでは、こちらにpublic function としてaction_save というsave という action を準備しました。そして、保存する時にはまずitem に Model_Item をforge として新しいオブジェクトを作成します。そして、data として空の配列を準備したらdata の item_name にここでは「みかん」としてprice に例えば90というように設定します。これでデータベースに保存する内容がセットできましたのであとは item に、この data という配列をセットしitem の save メソッドを呼び出してデータベースに保存します。 それでは、このメソッドの動きを確認してみましょう。/shop/save という内容を呼びだすとこの様に画面は真っ白になりますがデータベースの方を確認するとこの様に「みかん」が90円ということで記録がされています。もう一度スクリプトの方を見ていきましょう。まず、データベースにModel_Crud クラスでセーブをするためには、こちらの save メソッドというのを利用します。そして、save メソッドを使うためにはまずその前に set メソッドを使ってどんなデータを保存するのかということをここで指定する必要があります。その指定する data という配列はこの13行目14行目の所で準備しました。そして、その item というものはこちらの Model_Item の forgeというメソッドを使って初期化処理を行います。この一連の処理を行うことで新しいデータを保存することができます。少しスクリプトが長くなりますが1つ1つ意味がある手順になりますので是非ここで覚えておくと良いでしょう。では、最後にこの Model_Crud クラスにもう1つ準備されているdelete というのを行ってみたいと思います。 ここでは、action_delete ということでdelete を行うメソッドを準備しました。そして、ここでは $item に対してModel_Item の先程紹介しました find_by_pkということでPRIMARY キーを使って検索をしていきます。4というのは今先程追加したこちらの「みかん」というデータです。これを削除していきたいと思います。find_by_pk で探し出せたデータに対して$item の delete メソッドで削除してみます。こうすると、データが削除されます。では、実際に確認してみましょう。action_delete ということでdelete という action を準備しましたのでURL としては、こちら/shop/delete になります。では、こちらを呼びだしてみましょう。画面には何も表示されませんがデータベースの方を確認するとこの様に4番目の「みかん」が消えていることが確認できます。この delete という function を使えばデータを削除することができますのでこちら delete それから saveそして find 関係のメソッドこれらを使いこなしてデータベースを手軽に操作すると良いでしょう。

FuelPHPによるMVCプログラミング入門

このコースでは、PHPのフレームワークのひとつであるFuelPHPを紹介していきます。フレームワークとはスクリプト開発における「足場」となるもので、近年のスクリプト開発においては非常に一般的な存在となっています。高速な開発スタイルをぜひとも身に付けていきましょう。

6時間19分 (47 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月12日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。