データを検索して取得する

検索する

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 ) )