PHPからGroongaを利用する - GTableクラス

# GTableクラス

 [PHP bindings for  Groonga.](https://github.com/Yujiro3/proonga "PHP bindings for  Groonga.")


```php
GTable {
  /* メソッド */
  public void __construct(Groonga object, string name)
  public void __destruct(void)
  public void __set(string key, string value)
  public string __get(string key)
  public GTable name(string value)
  public GTable flags(string value)
  public GTable keyType(string value)
  public GTable valueType(string value)
  public GTable defaultTokenizer(string value)
  public GTable normalizer(string value)
  public GTable tokenFilters(string value)
  public GLoad load(mixed values)
  public GDelete delete(void)
  public GColumn column(string name)
  public GSelect select(void)
  public GTable create(void)
  public GTable remove(void)
  public GTable rename(string new_name)
  public mixed dump(void)
  public GTable truncate(void)
}
```


## コンストラクタ　GTable::__construct

クラスの生成

```php
$table = new GTable(groonga, 'status');
```

**引数**

| 名前        | 型            | 概要                |
|:-----------:|:-------------:|:-------------------:|
| object      |  Groonga      | Groongaオブジェクト |
| name        |  string       | テーブル名          |


**戻り値**

なし


```php
  $gdb = new Groonga('./db/test.db');

  $talbe = $gdb->table('Users');
  print_r($talbe);

```

**結果**


```php
GTable Object
(
)
```



## セッター　GTable::__set

変数へデータを設置する

```php
$table->__set('table', 'Users');
```

**引数**

| 名前        | 型            | 概要             |
|:-----------:|:-------------:|:----------------:|
| key         |  string       | 変数名           |
| value       |  string       | 値               |


**戻り値**

なし


```php
  $gdb = new Groonga('./db/test.db');

  $table = $gdb->talbe('Users');
  $table->name = 'Users';

```


## ゲッター　GTable::__get

変数を取得する

```php
$table->__get('name');
```

**引数**

| 名前        | 型            | 概要             |
|:-----------:|:-------------:|:----------------:|
| key         |  string       | 変数名           |


**戻り値**

string 変数の値


```php
  $gdb = new Groonga('./db/test.db');

  $table = $gdb->table('Users');
  $table->name = 'Users';
  echo $table->name;

```

**結果**


```php
Users
```


## 変数の設定　GTable::＊＊＊(string value)


```php
$table->name('Users')
      ->flags('TABLE_HASH_KEY')
      ->keyType('TABLE_HASH_KEY')
      ->valueType('TABLE_NO_KEY')
      ->defaultTokenizer('TokenBigram')
      ->normalizer('NormalizerAuto')
      ->tokenFilters('TokenFilterStopWord')
```

**引数**

| 名前        | 型            | 概要                |
|:-----------:|:-------------:|:-------------------:|
| value       |  string       | 設定値              |


**戻り値**

失敗した場合false
成功時GTableオブジェクト


```php
  $gdb = new Groonga('./db/test.db');

  /* table_create --name Users --flags TABLE_HASH_KEY --key_type ShortText */
  $table = $gdb->table('Users');
  $table->flags('TABLE_HASH_KEY')
        ->keyType('ShortText')
        ->create();
```






## データロード　GTable::load

テーブルにデータを追加・変更する

```php
$load = $table->load();
```

**戻り値**

GLoadオブジェクトの取得


## 削除　GTable::delete

テーブルを削除する

```php
$delete = $table->delete();
```

**戻り値**

GDeleteオブジェクトの取得


## カラム操作　GTable::column

カラムオブジェクトを取得する

```php
$column = $table->column('follower');
```
**引数**

| 名前        | 型            | 概要             |
|:-----------:|:-------------:|:----------------:|
| name        |  string       | カラム名         |


**戻り値**

GColumnオブジェクトの取得


## セレクト操作　GTable::select

セレクトオブジェクトを取得する

```php
$select = $table->select();
```

**戻り値**

GSelectオブジェクトの取得


## テーブル作成　GTable::create

テーブルを作成する

```php
$table->create();
```
**戻り値**

失敗した場合false
成功時GTableオブジェクト


## テーブル削除　GTable::remove

テーブルを削除する

```php
$table->remove();
```
**戻り値**

失敗した場合false
成功時GTableオブジェクト


## テーブル名変更　GTable::rename

テーブル名を変更する

```php
$table->rename('Account');
```

**引数**

| 名前        | 型            | 概要             |
|:-----------:|:-------------:|:----------------:|
| new_name    |  string       | 新テーブル名     |

**戻り値**

失敗した場合false
成功時GTableオブジェクト


## ダンプ　GTable::dump

データをダンプする

```php
$result = $table->dump();
```
**戻り値**

dump内容

**結果**


```php
table_create Sample TABLE_HASH_KEY ShortText
column_create Sample name COLUMN_SCALAR ShortText
load --table Sample
[
["_key","name"],
["alice","Alice"],
["bob","Bob"]
]
```



## テーブル内容全削除　GTable::truncate

テーブル内のデータを全て削除する

```php
$table->truncate();
```
**戻り値**

失敗した場合false
成功時GTableオブジェクト



* * *

[PHPからGroongaを利用する-Groongaクラス](http://qiita.com/Yujiro3/items/cb03abcc71bbb2f883f7 "PHPからGroongaを利用する-Groongaクラス")
[PHPからGroongaを利用する-GCommandクラス](http://qiita.com/Yujiro3/items/aa751a66ce4fc37f4aea "PHPからGroongaを利用する-GCommandクラス")
[PHPからGroongaを利用する-GTableクラス](http://qiita.com/Yujiro3/items/1b5cea045621f67100bc "PHPからGroongaを利用する-GTableクラス")
[PHPからGroongaを利用する-GColumnクラス](http://qiita.com/Yujiro3/items/241e9f561be14927e6be "PHPからGroongaを利用する-GColumnクラス")
[PHPからGroongaを利用する-GLoadクラス](http://qiita.com/Yujiro3/items/3f876a277e410fb1b631 "PHPからGroongaを利用する-GLoadクラス")
[PHPからGroongaを利用する-GDeleteクラス](http://qiita.com/Yujiro3/items/45ee01c107f2fa17c6c3 "PHPからGroongaを利用する-GDeleteクラス")
[PHPからGroongaを利用する-GSelectクラス](http://qiita.com/Yujiro3/items/c59094e2c83970bf224f "PHPからGroongaを利用する-GSelectクラス")

[PHPからGroongaを利用する-PHPバインディング](http://qiita.com/Yujiro3/items/e5ea98139f3ee58d46f9)