DBTableField 에 Table 이나 Column 추가 방법
DBTableField 란
- 고도몰 솔루션에서 사용하는 모든 Table 과 Column을 정의해 둔 Class 이며 자동으로 Table 과 Column을 불러와서 사용할수 있게 해주는 기능을 합니다.
Component 위치
- 고도몰 원본 소스의
Bundle/Component/Database
에 있으며 파일명은 DBTableField.php
입니다.
Table 이나 Column 추가시 기본내용
- 사용자 소스의
module/Component/Database
폴더 하위에 DBTableField.php
파일을 생성을 합니다.
- 원본 소스의 Component 를 상속하여 확장 개발을 합니다.
<?php
namespace Component\Database;
class DBTableField extends \Bundle\Component\Database\DBTableField
{
public static function Methods_Name()
{
}
}
Table 추가
-
es_testTable
라는 Table 추가시
- Methods명은
table
+ es_를 뺀 첫문자 대문자인 table 이름
입니다.
-
val
은 Column 명, typ
은 Column Type 로서 숫자형은 i 문자형은 s, def
은 기본값 입니다.
<?php
namespace Component\Database;
class DBTableField extends \Bundle\Component\Database\DBTableField
{
public static function tableTestTable()
{
$arrField = [
['val' => 'sno', 'typ' => 'i', 'def' => null], // 일련번호
['val' => 'testNo', 'typ' => 'i', 'def' => '1'], // 테스트 번호
['val' => 'testId', 'typ' => 's', 'def' => null], // 테스트 아이디
];
return $arrField;
}
}
Column 추가
- 기존의 Methods 를 그대로 사용을 하고 원래 Methods 의 것을 가지고 와서 처리함.
- 아래는 상품 table에 Column을 추가하는 예제입니다.
<?php
namespace Component\Database;
class DBTableField extends \Bundle\Component\Database\DBTableField
{
public static function tableGoods($conf = null)
{
// 부모 method 상속
$arrField = parent::tableGoods($conf);
// 추가 필드
$arrField[] = ['val' => 'testNo', 'typ' => 'i', 'def' => '1']; // 테스트 번호
$arrField[] = ['val' => 'testId', 'typ' => 's', 'def' => null]; // 테스트 아이디
// 필드값 리턴
return $arrField;
}
}