본문 바로가기
개발오류

php8 Method Illuminate\Database\Schema\Blueprint::varchar does not exist & int does not exist 오류

by 디토20 2021. 2. 6.
반응형

php8  Method Illuminate\Database\Schema\Blueprint::varchar does not exist & int does not exist 오류

 

 

make:migration create_테이블명_table

로 마이그레이션 파일을 만든 뒤

 

테이블 컬럼을 작성 하고

migrate를 했더니

 

Method Illuminate\Database\Schema\Blueprint::varchar does not exist.

라는 오류를 만났다.

 

 

varchar 스펠링 틀린게 없는데

대체 뭐가 문제일까 싶었는데

migrate로 테이블을 생성할때는

문자열을 varchar가 아닌 string으로 입력해주어야 한다.

 

ex) $table->varchar('테이블명', 10);  -> 오류

$table->string('테이블명', 10) -> 정상작동

 

 

 

이 문제를 해결했더니 이번엔

Method Illuminate\Database\Schema\Blueprint::int does not exist.

라는 오류가 떴다.

 

 

마찬가지로

migrate로 테이블을 생성할때는

문자열을 int가 아닌 integer로 입력해주어야 한다.

 

 

ex) $table->int('컬럼명'); -> 오류발생

$table->integer('컬럼명') -> 정상작동

 

 

 

 

interger 컬럼을 생성할때

컬럼명 인수 뒤에 추가 인수를 넣으면

 

 

 

 

  SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition

라는 오류를 또 만날 수 있게 됨.

 

integer에 크기를 부여하고 싶다면

length 함수를 이용하자.

 

 

 

ex)$table->integer('컬럼명', 10) -> 오류 발생

$table->integer('컬럼명')->->length(10); -> 정상작동

 

728x90
반응형

댓글