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

# GColumnクラス

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


```php
GColumn {
  /* メソッド */
  public void __construct(Groonga object, string name)
  public void __destruct(void)
  public void __set(string key, string value)
  public string __get(string key)
  public GColumn flags(string value)
  public GColumn type(string value)
  public GColumn source(string value)
  public GColumn create(void)
  public GColumn remove(void)
  public GColumn rename(string value)
}
```


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

クラスの生成

```php
$column = new GColumn(gtable, 'follower');
```

**引数**

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


**戻り値**

なし


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

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

  $column = $talbe->column('follower');

  print_r($column);

```

**結果**


```php
GColumn Object
(
)
```


## セッター　GColumn::__set

変数へデータを設置する

```php
$column->__set('name', 'follower');
```

**引数**

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


**戻り値**

なし


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

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

  $column = $talbe->column('follower');
  $column->flags = 'COLUMN_VECTOR';
```


## ゲッター　GColumn::__get

変数を取得する

```php
$column->__get('flags');
```

**引数**

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


**戻り値**

string 変数の値


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

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

  $column = $talbe->column('follower');
  $column->flags = 'COLUMN_VECTOR';
  echo $column->flags;

```

**結果**


```php
COLUMN_VECTOR
```


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


```php
$column->flags('COLUMN_SCALAR')
       ->type('Users')
       ->source('follower')
```

**引数**

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


**戻り値**

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

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

  /* column_create --table Users --name followee --flags COLUMN_INDEX --type Users --source follower */
  $table = $gdb->table('Users');
  $column = $table->column('followee');
  $column->flags('COLUMN_INDEX')
         ->type('Users')
         ->source('follower')
         ->create();
```



## カラム作成　GColumn::create

カラムを作成する

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

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

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

  /* column_create --table Users --name followee --flags COLUMN_INDEX --type Users --source follower */
  $table = $gdb->table('Users');
  $column = $table->column('followee');
  $column->flags('COLUMN_INDEX')
         ->type('Users')
         ->source('follower')
         ->create();
```


## カラム削除　GColumn::remove

カラムを削除する

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

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


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

  $table = $gdb->table('Users');
  $column = $table->column('followee');
  $column->remove();
```


## カラム名変更　GColumn::rename

カラム名を変更する

```php
$column->remove('user');
```

**引数**

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

**戻り値**

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


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

  $table = $gdb->table('Users');
  $column = $table->column('followee');
  $column->remove('followee2');
```

* * *

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