Laravel5.2でSQLiteを使ってみる – DB操作編

SQLite370.svg

Laravel5.2でSQLiteを使ってみる – 準備編

準備編の続きです!使ってみますよ~
いつものごとく下記のマニュアルを見ながらやってみます。英語分からないので、なんとなくですけどね!
https://laravel.com/docs/5.2/database

INSERTしてSELECT

いきなりですがINSERTしてみましょう。前回、articleというテーブルを作りました。
参考サイト通り、コントローラにDB操作を書いてしまいます。
絶対に忘れてはいけないのがこれ。

DB使いますよ~ってことなので、この宣言がないとエラーになってしまいます。
あ、ちなみにテーブル作成時には下記のように定義しました。

このarticleテーブルに対して、受け取ったパラメータの値を使ってINSERTします。前回作ったPOSTのstoreファンクションに下記のように書いてみて、実行!

さて、成功しましたかな…確認は、GETで行ってみます。SELECTしたものをprint_rしているだけです。

結果は~

おお~、入力した通り!大丈夫そう!!…むむ?…あれ、created_atが入ってないですね。これはイカン、idみたいに勝手に入ると思ってました。。軽く調べてみたところ、Eloquentを使うようにすればそこは解決しそう。んー…まぁいいか、それはまた今度にします=w=

クエリービルダーにしてみる

とりあえずDBの操作は大丈夫そうです。
ただ、SQLをベタ書きしていてなんか嫌ですね…ということで、クエリービルダーを使ってみたいと思います。CakePHPにもあるので、使ったことある人は意外といるんじゃないでしょうか。
https://laravel.com/docs/5.2/queries
SELECT文をまんま書いていたところは下記のようになります。

おお~、なんかPHPというかLaravelでDB操作してる!って感じがしますね!結果はもちろん変わりません。
あまりにも複雑なSQLの場合は逆に訳が分からなくなってしまうと思いますが、メインはこの書き方の方がいいと思います。SQLの書き間違いとかあるかもしれませんし、なんと言ってもこっちの方がLaravel使ってる感が(以下略
INSERTももちろん同じような書き方でいけます。

APIっぽいレスポンスにする

DB操作ができたので、ついでにAPIっぽいレスポンスにしたいと思います。
やっぱりJSON形式ですよね!DBから取得したデータを下記のようにしてreturnするだけです。んー、簡単!

ちなみに、XML形式にしてくれる関数はないっぽい?です。XMLのAPIって、私は一度しか仕事で使ったことないですが…マイナーなのかな?メジャーなのかな?まぁLaravelでXML使いたい場合はresponseをオーバーライドでもして自作するとかになりそうですね。私は使わないからいいや…w

とりあえずDB操作は大丈夫なので、、次回は後回しにしたEloquentを使ってみましょうかね^^

スポンサーリンク
レクタングル(大)
レクタングル(大)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする