データを検索して取得する
検索する
WGMModel->get() を使います。
- ->vars
- ->avars
- ->getVars
検索したデータの1件目を利用する
get() を発行すると、テーブル内のデータ全てを取得し、モデルインスタンス変数である連想配列 avars に保持しつつ、最初に取得した1件目のレコードは、連想配列 vars にコピーされます。
後述する order がない場合の取得順序は、RDBによりますので、実行するたびに、1件目のデータが不定になることがあります。
<?php
require_once 'waggo_example.php';
$price = new WGMModel('waggo6_example_price');
$price->get();
print_r($price->vars);
Array ( [id] => 1 [name] => Apple [price] => 7102 )
検索した全件のデータを利用する
全件データは、連想配列 avars に保持されます。
<?php
require_once 'waggo_example.php';
$price = new WGMModel('waggo6_example_price');
$price->get();
print_r($price->avars);
Array ( [0] => Array ( [id] => 1 [name] => Apple [price] => 7102 ) [1] => Array ( [id] => 2 [name] => Banana [price] => 5008 ) [2] => Array ( [id] => 3 [name] => Carrot [price] => 8755 ) [3] => Array ( [id] => 4 [name] => Date [price] => 2002 ) [4] => Array ( [id] => 5 [name] => Eggplant [price] => 9580 ) [5] => Array ( [id] => 6 [name] => Fig [price] => 8717 ) [6] => Array ( [id] => 7 [name] => Grape [price] => 7265 ) [7] => Array ( [id] => 8 [name] => Honeydew [price] => 3691 ) [8] => Array ( [id] => 9 [name] => IcePlant [price] => 7126 ) [9] => Array ( [id] => 10 [name] => Jellybean [price] => 4523 ) )
単一フィールドで、特定のデータを取得する
単一フィールドを用いて、データを検索し取得するには、連想配列 vars に、検索したいデータをセットし、get('フィールド名') で取得します。
<?php
require_once 'waggo_example.php';
$price = new WGMModel('waggo6_example_price');
$price->vars['id'] = 5;
$price->get('id');
print_r($price->avars);
Array ( [0] => Array ( [id] => 5 [name] => Eggplant [price] => 9580 ) )
複数フィールドで、特定のデータを取得する
複数フィールドを用いて、データを検索し取得するには、連想配列 vars に、検索したいデータをセットし、get('フィールド名1','フィールド名2') で取得します。検索条件は and です。
<?php
require_once 'waggo_example.php';
$price = new WGMModel('waggo6_example_price');
$price->vars['id'] = 5;
$price->vars['name'] = 'Apple';
$price->get('id','name');
print_r($price->avars);
Array ( )
※データが存在しないので、列数0 の avars がセットされます。
検索条件と get を同時に行う
get() するには、連想配列vars へのセットと、get() への対象フィールドの指定が必要ですが、以下のコードで、その動作を同時にすることができます。
<?php
require_once 'waggo_example.php';
$price = new WGMModel('waggo6_example_price');
$price->getVars(['id'=>1, 'name'=>'Apple']);
print_r($price->avars);
Array ( [0] => Array ( [id] => 1 [name] => Apple [price] => 7102 ) )