idiormの使い方

  • 2021.05.31
  • PHP
idiormの使い方

idiorm公式ドキュメント

idiormは記事が少ないし、公式ドキュメントも英語などでわかりにくい…..
だが、公式ドキュメントには構文が載っているのでそれをとりあえず、
調べたい関数とかをページ内検索をして、構文をコピーするだけでもOK

http://idiorm.readthedocs.org/en/latest/index.html

参考サイト

参考サイト1
参考サイト2

idiormインストール

https://github.com/j4mie/idiorm
使用するファイルは、idiorm.phpだけになります。

データベースの基本機能

UPDATE

解説:personテーブルから全データ取得をしています。
取得したデータをforeachにて回して、nameを全部「山田太郎」に上書きをするということになる。


<?php
$people = ORM::for_table('person')->find_many();
foreach ($people as $person) {
$person->name = '山田太郎';
$person->save();
}
?>

同じ結果にはなるが、別のやり方がある。
find_result_setを使うことにより、複数のレコードをまとめて操作が可能になる
今回で言うと、nameを全て山田太郎にするをまとめてしてくれるものになる。
ここで、重要なのが、set(レコード名:値)を入れないといけないことだ。


<?php
ORM::for_table('person')->find_result_set()
->set('name', '山田太郎')
->save();
?>

INSERT

insertの場合は、最後にcreateをつけるのがお約束になる。
そして、updateも、insertも同様に最後にsave();をつけないといけない。
そうすることにより、データベースにデータが入れることができる。


<?php
$person = ORM::for_table('person')->create();
$person->name = 'Joe Bloggs';
$person->age = 40;
$person->save();
?>

Delete

解説:personのデータベースの中に「県」がつくのを検索し、合致したものをdelete();を使い、削除をしている。


$record = ORM::for_table('person')->->where_like('nameType',"%.県")->find_many();
foreach($records as $record){
    $record->delete();
}

SELECT

全件を配列として取得して、その中のnameを取り出しています。
個々を指定する場合は、シングルアローを使い、取り出します。


<?php
$person = ORM::for_table('person')->find-array();
$name=$person->name;
?>

WHERE

whereを使うことで、条件検索をすることができます。
例えば、nameのレコードにある「田中」だけを取得するといった取り出し方ができます。


<?php
$person = ORM::for_table('person')->find-array();
$name=$person->name;
?>