oracle 10g에서 php-activerecord를 사용하고 있습니다. Oracle 칼럼이 대소 문자를 구별하는 문제가 있습니다.php-active record 오라클 케이스 sensative columns
class Employee extends ActiveRecord\Model{
static $table_name = 'EMPLOYEE';
static $primary_key = 'PERSON_ID';
static $belongs_to = array(
array('supervisor', 'class_name' => 'Employee','foreign_key'=>'SUPERVISOR_ID')
);
}
테스트 :
$employee = Employee::first();
echo $employee->supervisor_ID; // Does not work - Oracle Columns are case sensitive
echo $employee->SUPERVISOR_ID; // Prints ID
$employees = Employee::find('all', array('limit' => 10, 'include' => array('supervisor')));
오류 : 나는 SUPERVISOR_ID 등의 외부 키를 정의 할 때
Fatal error: Uncaught exception 'ActiveRecord\UndefinedPropertyException' with message 'Undefined property: Employee->supervisor_id
왜 소문자 supervisor_id를 찾고 있습니까? 대소 문자를 구분하지 않을 수 있습니까? 도움에 감사드립니다. Google은 오늘 나에게 실패했다.
UPDATE :.
이"원인은 부분적으로 만 오라클 관련 될 것으로 보인다 오라클만큼 열 이름의 대소 문자 구분에 의존하지 않습니다
나는 YII 프레임 워크 웹 사이트에서 이걸 발견
그렇다면 정확한 열 이름 철자가 제공되므로 ActiveRecord 아래에있는 Yii 코드의 어딘가에 테이블 이름을 따옴표로 이스케이프하는 부분이 있어야 할 것입니다. . "^^ 필자는 phpactiverecord 코드를 어딘가에 열 이름 주위에 따옴표가 없도록 해킹해야 할 것 같습니다. 나는 phpactiverecord가 오라클에 엉터리라고 생각한다. 성능도 좋지 않습니다.