라라벨
라라벨 - 테이블 명을 포함한 칼럼 명 반환하기
SQL 작업 진행 시 Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous
에러가 발생하는 경우가 있습니다.
SQL 에서 사용 중인 테이블 중 'id' 칼럼을 사용하는 테이블이 두 개 이상이라면 'id' 칼럼 사용 시 어떤 테이블의 'id' 인지 파악할 수 없어서 발생하는 에러입니다.
라라벨 Model 클래스의 qualifyColumn 메소드 사용하기.
/**
* Qualify the given column name by the model's table.
*
*@paramstring$column
*@returnstring
*/
public function qualifyColumn($column)
{
if(Str::contains($column, '.')) {
return $column;
}
return $this->getTable().'.'.$column;
}
static 메소드 추가.
public static function getFullColumnName($column)
{
return self::TABLE. '.' . $column;
}
0개 댓글