>

Eloquent Model 클래스에서 뮤 테이터를 정의하기 위해 다음과 같이 getFooAttribute를 사용합니다.

public function getTitleAttribute($value)
{
    return ucfirst($value);
}

하지만 이름을 바꾸려는 하나의 모델에 많은 (20 ~ 30) 속성이 있다고 상상해보십시오. 각 모델마다 기능을 만드는 것이 까다 롭습니다.이를 해결할 더 똑똑한 방법이 있습니까?

  • 답변 # 1

    getAttribute 를 무시할 수 있습니다  모델에서 기능을 수행하고 연관 배열을 사용하여 속성의 이름을 바꿉니다.

    public function getAttribute($key)
    {
        $renames = [
            'foo' => 'bar',
        ];
        if (array_key_exists($key, $renames))
            $key = $renames[$key];
        return parent::getAttribute($key);
    }
    
    

관련 자료

  • 이전 java - SQL 데이터베이스를 JavaFx 프로그램에 연결했지만 로그인하려고하면 오류가 발생합니다
  • 다음 c - 이전에 이진 추가 된 번호를 지우는 이진 편집