なずブログ

インフラSE、Java開発、リモートワークエンジニアな人のメモ帳

Mysqlの代わりにjsonで管理しようとしたらinner joinがないからGINQ使ってみようとした

f:id:nazuna_0124:20170319171727p:plain

さてさて、おねーさま依頼のツールは絶賛作成中。

デザインはお願いする関係でファイルが行ったり来たりしてます。


そーすると、どうしてもデータベースは環境合わせるのがめんどくさい。

コピペですむjsonでデータ管理をしてみることにしました。


読み書きはともかく、ネックは条件での抽出と、ファイルを複数使ってjoinです。


SQLなら1文ですむのにひたすらループするしかない


そこで登場のライブラリ。GINQさんです。


LINQPHPで再現したライブラリです!という説明で意味不明でした。まずLINQがなに…


よーするに配列をテーブルに見立てて、SQLっぽくかけるしろもの。


メソッドを続けて書いていく感じは、フレームワークのORMと同様の感じじゃないでしょうか。 ←言葉の意味がよくわかってないのに言ってます。


書いてて気づきました。VBA時代に死ぬほど欲しかったライブラリです…

誰か作ってくれてたりしないのかな。


導入に結構手間取ったので、以下ただのメモです。


  • GINQをzipで解答して放り込めば使えるって見たけど無理だった
  • Netbenasにコンポーザを導入してみた。
  • composer.jsonは手動で作って問題なし。
  • composer.jsonにインストールしたいginqの記述をする
  • 依存性の追加とか言う、謎の言葉でインストール
  • 呼び出すファイルは 'vendor/autoload.php'


インストール時点でvendorフォルダが作成されて中にginqもあります。


中のGinq.phpをrequireしてもエラーでます

コードによっては動くあたりが更に注意


後から考えたらコンポーザ導入したんだから、そうしろって結果なだけなんですが。

よくわからずインストールしました!


とりあえず、動いたのでよしとします。

さて、これの使い方おぼえないと!