찾다

 >  Q&A  >  본문

php - laravel에서 리더(getAttribute)를 사용할 때 발생하는 문제

현장 장면은

사용자 테이블의 전화 필드를 전경에 표시할 때 전화번호의 마지막 4자리가 *로 대체됩니다.

제가 사용하는 방법은 다음과 같습니다.

으아아아

이렇게 쓰면 대체로 괜찮을 것 같아요.

단, 이용자가 양식을 통해 개인정보를 수정하는 경우 입력란에 표시되는 전화번호는

예: 1391234**

제가 해결하고 싶은 것은:

리더(getAttribute)를 사용하는 경우
특정 조건에서 리더(getAttribute)에 대한 작업을 일시적으로 취소하여 전체 전화번호를 표시하는 방법은 무엇입니까?

PHP中文网PHP中文网2786일 전746

모든 응답(1)나는 대답할 것이다

  • 習慣沉默

    習慣沉默2017-05-16 13:00:48

    1. 2개를 만들어요

    배열을 내보낼 때 하나를 숨깁니다. 내보낸 JSON 인터페이스에서 tel은 모두 **Array时隐藏一个,这样做有弊病,导出的JSON接口中,tel都是**

    protected $hidden = [
        'tel_original'
    ];
    
    function getTelAttribute() {
        return substr($this->attributes['tel'], 0, 7) . '****');
    }
    
    function getTelOriginalAttribute() {
        return $this->attributes['tel'];
    }

    2. 运行时替换

    不修改tel,但是在模板中显示时,用函数替换一下
    这样对导出JSON입니다. 으아악

    2. 런타임 교체🎜 🎜tel을 수정하지 마세요. 단, 템플릿에 표시할 때
    함수로 바꾸세요. 이는 JSON 내보내기에 영향을 미치지 않지만 다음을 수행해야 합니다. 표시될 때마다 사용하세요🎜

    회신하다
    0
  • 취소회신하다