본문 바로가기

Framework & Library/Laravel

라라벨 입문 중의 소소한 정리 2. Model, controller

-엘로퀀트 (models)

: 쿼리빌더 기반 라라벨의 대표적인 DB기능 데이터베이스 추상화 레이어

 

-엘로퀀트 모델 생성

php artisan make:model [모델 파일명]

(모델 파일명이 User면 테이블은 Users인 것이 관례,

또한, 엘리퀀트의 테이블 명은 스네이크 표기법)

 

-엘로퀀트의 대량 할당

: fillable 속성을 이용

메소드에 배열전달 때, 변경하면 안되는 속성 값의 변경을 막음

 

-상수 (Constans.php)

controller 단에서 (콘트롤러에서만 쓰이남..?) 반복해서 쓰이는 고정값!

기본 데이터 ( 환율기준정보, 변하지 않는 토큰의 비율 등 )을 지정하여 상수를 저장해 놓은 파일

 

-콘트롤러 생성

php artisan make:controller [폴더 명]/[콘트롤러 명]

 

만약, 특정 폴더 내에 콘트롤러를 생성하고 싶다면,

php artisan make:controller [폴더 명]/[콘트롤러 명] --resource

// --resource를 써주면 콘트롤러 내부에
// index(), store() 등의 기본 메소드가 자동으로 생성된다

 

-유효성 검사 로직에서 (in controller)

/**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    protected function validator(array $data)
    {   
	return Validator::make($data, [
            'login_id' => ['required', 'string', 'alpha_num', 'min:4', 'max:255', 'unique:users'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'phone' => ['required', 'string', 'min:9', 'max:255'],
            'password' => ['required', 'string', 'regex:/^(?=.*[a-zA-Z])((?=.*\d)|(?=.*\W)).{8,255}$/', 'min:8', 'max:255', 'confirmed'], 
            'referral' => ['required', 'string', 'max:255'],
	]:;
}



login_id

email

phone

password

referral

: ~.blade.php 파일에서의 name 값

 

=> 뒤의 [배열 내]에 유효성 검사 내역 작성