spiral
[ class tree: spiral ] [ index: spiral ] [ all elements ]

Class: SpiralDataBase

Source Location: /db/SpiralDataBase.php

Class Overview


スパイラルデータベース


Methods



Class Details

[line 14]
スパイラルデータベース

スパイラルで作成したデータベースを操作するクラスです。

インスタンスを作成する時は SpiralクラスのgetDataBase() をご利用ください。




[ Top ]


Class Methods


method addEqualCondition [line 336]

void addEqualCondition( [string $_fieldTitle = null], [string $_value = ""])

"="による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addEqualCondition("field_title""value");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  

[ Top ]

method addGreaterEqualCondition [line 464]

void addGreaterEqualCondition( [string $_fieldTitle = null], [string $_value = ""])

">="による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addGreaterEqualCondition("field_title""value");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  

[ Top ]

method addGreaterThanCondition [line 432]

void addGreaterThanCondition( [string $_fieldTitle = null], [string $_value = ""])

">"による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addGreaterThanCondition("field_title""value");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  

[ Top ]

method addIdCondition [line 181]

void addIdCondition( [string $_value = null])

検索オプション id を追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addIdCondition(100);
  5.  ?>




Tags:

access:  public


Parameters:

string   $_value   IDフィールドの値

[ Top ]

method addLessEqualCondition [line 528]

void addLessEqualCondition( [string $_fieldTitle = null], [string $_value = ""])

"<="による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addLessEqualCondition("field_title""value");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  

[ Top ]

method addLessThanCondition [line 496]

void addLessThanCondition( [string $_fieldTitle = null], [string $_value = ""])

"<"による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addLessThanCondition("field_title""value");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  

[ Top ]

method addLikeCondition [line 400]

void addLikeCondition( [string $_fieldTitle = null], [string $_value = ""])

"LIKE"による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addLikeCondition("field_title""%value%");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  

[ Top ]

method addNotEqualCondition [line 368]

void addNotEqualCondition( [string $_fieldTitle = null], [string $_value = ""])

"!="による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addNotEqualCondition("field_title""value");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  

[ Top ]

method addNotNullCondition [line 592]

void addNotNullCondition( [string $_fieldTitle = null], string 1)

"NOT NULL"による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addNotNullCondition("field_title");
  5.  ?>




Tags:

access:  public


Parameters:

string   1  
string   $_fieldTitle   フィールドタイトル

[ Top ]

method addNullCondition [line 560]

void addNullCondition( [string $_fieldTitle = null], string 1)

"NULL"による検索条件を1つ追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addNullCondition("field_title");
  5.  ?>




Tags:

access:  public


Parameters:

string   1  
string   $_fieldTitle   フィールドタイトル

[ Top ]

method addSearchCondition [line 631]

void addSearchCondition( [string $_fieldTitle = null], [string $_value = ""], [string $_operator = "="])

任意の比較演算子で検索条件を1つ追加します。

[ 特殊なオペレータも使用できます ]
~|| : 左辺は右辺の文字列(スペース区切)の1つ以上を含む。大文字小文字を区別しません。
!~|| : 左辺は右辺の文字列(スペース区切)を1つも含まない。大文字小文字を区別しません。
~&& : 左辺は右辺の文字列(スペース区切)を全て含む。大文字小文字を区別しません。
!~&& : 左辺は右辺の文字列(スペース区切)の1つ以上を含まない。大文字小文字を区別しません。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addSearchCondition("field_title""value1 value2 value3""~||");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドタイトル
string   $_value  
string   $_operator   オペレータ (デフォルト値:"=")

[ Top ]

method addSelectFields [line 98]

void addSelectFields( string 0)

表示するフィールドを複数まとめて追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addSelectFields("field_title""field_title""field_title");
  5.  ?>




Tags:

access:  public


Parameters:

string   0   フィールドのタイトル .. (可変)

[ Top ]

method addSelectNameCondition [line 158]

void addSelectNameCondition( [string $_value = null])

検索オプション select_name を追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addSelectNameCondition("select_name");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_value   スパイラルの操作画面で作成した抽出条件名

[ Top ]

method addSortField [line 126]

void addSortField( [string $_fieldTitle = null], [boolean $_asc = true])

ソートオプション sort を追加します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addSortField("field_title");
  5.  ?>




Tags:

access:  public


Parameters:

string   $_fieldTitle   フィールドのタイトル
boolean   $_asc   ASCならtrueとする

[ Top ]

method doBulkInsert [line 1501]

新しいID doBulkInsert( [array $_columns = null], [array $_data = null])

データベースへ最大1000件のレコードを一括登録します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->doBulkInsert(array("field_title1""field_title2")array(array("value00""value01")array(null"value11")));
  5.  ?>




Tags:

access:  public


Parameters:

array   $_columns   登録先フィールド(["field_name1", "field_name2"])
array   $_data   登録データの二次元配列([["value00", "value01"], [null, "value11"], ・・・])

[ Top ]

method doBulkUpdate [line 1850]

array doBulkUpdate( [string $_key = null], [array $_columns = null], [array $_data = null], [string $_onRecordNotFound = null])

データベースへ最大1000件のレコードを一括更新します。

[ 仕様 ]
・PHP 7.2 以上でのみ使用可能です。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->doBulkUpdate("key_title",array("key_title","field_title1")array(array("key_title_value1""field_title1_value1")array("key_title_value2""field_title1_value2")),"on_record_not_found");
  5.  ?>




Tags:

return:  一括更新結果 ([["status"=>"updated" or "ignored", "id" => "id"],・・・])
access:  public


Parameters:

string   $_key   更新対象特定キー "key_title"
array   $_columns   更新対象フィールド(["key_title","field_title1"])
array   $_data   更新データの二次元配列([["key_title_value1", "field_title1_value1"], ["key_title_value2", "field_title1_value2"]])
string   $_onRecordNotFound   更新対象無しモード "skip" or "error"

[ Top ]

method doBulkUpsert [line 1703]

array doBulkUpsert( [string $_key = null], [array $_columns = null], [array $_data = null])

データベースへ最大1000件のレコードを一括登録、更新します。

[ 仕様 ]
・PHP 7.2 以上でのみ使用可能です。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->doBulkUpsert("key_title",array("key_title","field_title1")array(array("key_title_value1""field_title1_value1")array("key_title_value2""field_title1_value2")));
  5.  ?>




Tags:

return:  一括登録更新結果 ([["status"=>"updated" or "inserted", "id" => "id"],・・・])
access:  public


Parameters:

string   $_key   更新対象特定キー "key_title"
array   $_columns   登録、更新対象フィールド(["key_title","field_title1"])
array   $_data   登録、更新データの二次元配列([["key_title_value1", "field_title1_value1"], ["key_title_value2", "field_title1_value2"]])

[ Top ]

method doDelete [line 760]

削除した件数 doDelete( )

検索条件でデータベースからレコードを削除します。

[ 仕様 ]
・検索条件を指定しない場合は、Exceptionを発生します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addEqualCondition("field_title""value");
  5.      $count $db->doDelete();
  6.  ?>




Tags:

access:  public


[ Top ]

method doExport [line 1147]

2次元配列 doExport( [array $options = array()])

検索条件でデータベースを検索して、重複のない全件を連想配列として返します。
検索結果のレコードはジェネレータ形式です。
バッチ処理など、ソート指定不要で検索結果全件を一括取得したい場合に使用します。

[ 仕様 ]
・データベース上の全レコードを取得します。
 検索結果レコードが存在しない場合は、空配列を返します。
・表示フィールドを指定しない場合は、"id" の値のみ取得します。
・addSortField()によるソート指定は行なえません。
 引数に「array("asc" => true)」を指定するとID昇順、「array("asc" => false)」を指定するとID降順で取得します。
 引数が指定なし、または無効な連想配列の場合、「array("asc" => true)」が適用されます。
・ソート指定したい場合は、doSelectLoopメソッドを使用してください。
・$result は連想配列で、'data'と'count' のキーを持ちます。'data'は検索結果のジェネレータ、'count'はトータル件数です。
・PHP 7.2 以上でのみ使用可能です。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addEqualCondition("field_title""value");
  5.      $result $db->doExport();
  6.  ?>




Tags:

return:  {'data'=>[[N] => {"name1"=>"value1", "name2"=>"value2"}], 'count'=>'xxx', 'label'=>[[N] => {"1"=>"label1", "2"=>"label2"}]}
see:  SpiralDataBase::doSelect()
see:  SpiralDataBase::doSelectLoop()
access:  public


Parameters:

array   $options   取得時のオプション。キー"asc"としてboolean(昇順はtrue、降順はfalse)

[ Top ]

method doGetFile [line 2007]

array doGetFile( [string $_file_field_title = null], [string $_key_field_title = null], [string $_key_field_value = null])

指定されたファイルフィールドの情報を連想配列で返却する。

[ 仕様 ]
・PHP 7.2 以上でのみ使用可能です。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->doGetFile("file_field""unique_field_title""unique_field_value");
  5.  ?>




Tags:

return:  取得ファイル情報 (["file_name" => ファイル名, "data" => ファイルデータ(Base64エンコード), "content_type" => コンテンツタイプ※拡張子から判定])
access:  public


Parameters:

string   $_file_field_title   取得ファイルフィールドタイトル "file_field"
string   $_key_field_title   対象レコード特定用フィールド "unique_field_title"
string   $_key_field_value   対象レコード特定用フィールド値 "unique_field_value"

[ Top ]

method doInsert [line 662]

新しいID doInsert( [array $_data = null])

データベースへレコードを登録します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->doInsert(array("field_title" => "value""field_title" => "value"));
  5.  ?>




Tags:

access:  public


Parameters:

array   $_data   登録データ("field_name" => "field_value")

[ Top ]

method doSelect [line 987]

2次元配列 doSelect( )

検索条件でデータベースを検索して連想配列を返します。

[ 仕様 ]
setLinesPerPageおよびsetPageで指定された範囲のレコードを取得します。(上限1000件)
・表示フィールドを指定しない場合は、"id" の値のみ取得します。
・検索結果レコードが存在しない場合は、空配列を返します。
・$result は連想配列で、'data'と'count' のキーを持ちます。'data'は検索結果の配列、'count'はトータル件数です。
・検索結果が1000件を超えるレコードを取得する場合は、繰り返し処理を行うか、doSelectLoopメソッドを使用してください。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addEqualCondition("field_title""value");
  5.      $db->setLinesPerPage(500);
  6.      $result $db->doSelect();
  7.  ?>




Tags:

return:  {'data'=>[[N] => {"name1"=>"value1", "name2"=>"value2"}], 'count'=>'xxx', 'label'=>[[N] => {"1"=>"label1", "2"=>"label2"}]}
see:  SpiralDataBase::doExport()
see:  SpiralDataBase::setLinesPerPage()
see:  SpiralDataBase::doSelectLoop()
see:  SpiralDataBase::setPage()
access:  public


[ Top ]

method doSelectLoop [line 1333]

2次元配列 doSelectLoop( )

検索条件でデータベースを検索して、1000件を超える場合でも全件を連想配列として返します。
検索結果のレコードはジェネレータ形式です。

[ 仕様 ]
addSortFieldで一意ソートが適用された場合、データベース上の全レコードを取得します。
 ソート指定がないか、一意にレコードの並び順が決まらないソート条件の場合、レコード取得中に割り込みが発生することで全件取得できない場合があります。
・"id" ソートを用いて確実に重複のない全件取得をする場合は、doExportメソッドを使用してください。
・表示フィールドを指定しない場合は、"id" の値のみ取得します。
・検索結果レコードが存在しない場合は、空配列を返します。
・$result は連想配列で、'data'と'count' のキーを持ちます。'data'は検索結果のジェネレータ、'count'はトータル件数です。
・PHP 7.2 以上でのみ使用可能です。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addEqualCondition("field_title""value");
  5.      $db->addSortField("prime_key"true);
  6.      $result $db->doSelectLoop();
  7.  ?>




Tags:

return:  {'data'=>[[N] => {"name1"=>"value1", "name2"=>"value2"}], 'count'=>'xxx', 'label'=>[[N] => {"1"=>"label1", "2"=>"label2"}]}
see:  SpiralDataBase::doSelect()
see:  SpiralDataBase::doExport()
access:  public


[ Top ]

method doUpdate [line 848]

更新した件数 doUpdate( [array $_data = null], [ $_attr = null])

検索条件でデータベースを更新します。

[ 仕様 ]
・検索条件を指定しない場合は、Exceptionを発生します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addEqualCondition("field_title""value");
  5.      $count $db->doUpdate(array("field_title" => "value""field_title" => "value"));
  6.  ?>




Tags:

access:  public


Parameters:

array   $_data   更新データ("field_name" => "field_value")
   $_attr  

[ Top ]

method doUpsert [line 1596]

array doUpsert( [string $_key = null], [array $_data = null])

データベースへレコードを登録、更新します。

[ 仕様 ]
・PHP 7.2 以上でのみ使用可能です。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->doUpsert("key_title",array("key_title" => "key_title_value""field_title1" => "field_title1_value"));
  5.  ?>




Tags:

return:  登録更新結果 (["status"=>"updated" or "inserted", "id" => "id"])
access:  public


Parameters:

string   $_key   更新対象特定キー "key_title"
array   $_data   登録、更新データ(["key_title" => "key_title_value", "field_title1" => "field_title1_value"])

[ Top ]

method selectById [line 1429]

連想配列 selectById( [string $_id = null])

idでデータベースを検索して連想配列を返します。

[ 仕様 ]
・$_idを指定しない、もしくは負の値を指定した場合は、Exceptionを発生します。
・$_idで検索しレコードが存在しない場合は、空配列を返します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->addSelectFields("field_title");
  5.      $result_array $db->selectById(100);
  6.  ?>




Tags:

return:  ("name1"=>"value1", "name2"=>"value2")
access:  public


Parameters:

string   $_id   検索条件であるIDフィールドの値

[ Top ]

method setGroupByFields [line 267]

void setGroupByFields( string 0)

グルーピングしたいフィールドタイトルを指定します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->setGroupByFields("field_title""field_title");
  5.  ?>




Tags:

access:  public


Parameters:

string   0   フィールドのタイトル .. (可変)

[ Top ]

method setLabelsTarget [line 308]

void setLabelsTarget( string $_value)

doSelectの、ラベル情報(出力対象)を変更します。

 レスポンスボディの「label」の、出力対象のフィールドを指定します。
 doSelectLoopおよびdoExportにも適用されます。
 ・allの場合、レコード表示対象の全フィールドをラベル情報に含めます。
 ・no_idの場合、レコード表示対象のうちID以外をラベル情報に含めます。
 ・上記以外の場合、エラーとなりレコード取得はできません。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase($db_title);
  4.      $db->addSelectFields("id"$field1$field2$field3);
  5.      $db->setLabelsTarget("all");
  6.      $db->doSelect();
  7.  ?>




Tags:

access:  public


Parameters:

string   $_value   ラベルの出力対象('all' or 'no_id')

[ Top ]

method setLinesPerPage [line 220]

void setLinesPerPage( [int $_value = null])

SELECTした時のページ毎のデータ行数を指定します。

[ 仕様 ]
・指定可能な値は1件以上1000件以下です。
・doSelect() の実行時、引数に1001以上の値を指定した場合は、Exceptionを発生します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->setLinesPerPage(10);
  5.      $db->doSelect();
  6.  ?>




Tags:

access:  public


Parameters:

int   $_value   ページ毎の行数

[ Top ]

method setPage [line 244]

void setPage( [int $_value = null])

SELECTした時に表示するページ番号を指定します。

[ サンプル ]

  1.  <?php
  2.      $SPIRAL->setApiTokenTitle($api_token_title);
  3.      $db $SPIRAL->getDataBase("db_title");
  4.      $db->setPage(1);
  5.      $db->doSelect();
  6.  ?>




Tags:

access:  public


Parameters:

int   $_value   ページ毎の行数

[ Top ]


Documentation generated on Tue, 19 Mar 2024 17:34:57 +0900 by phpDocumentor 1.4.4