TL; DR - Yii에서 개인 필드를 대량으로 할당하려면 어떻게해야합니까?Yii - 개인 필드의 대규모 할당
StackOverflow의 Yii 전문가는 무엇입니까? YiiFramework forums는 정말로 나를 도와주지 않았다.
다른 jobCount
에 종속 된 CActiveRecord 모델에 개인 필드 hired
이 있습니다. 기본적으로, 해당 구성원과 관련된 유효한 job
(다른 테이블에 저장되어 있음)이 하나 이상 있으면 고용 된 것으로 간주됩니다.
종래에는 afterFind 메서드에서 hired
을 설정했지만 매번 관계를로드한다는 의미입니다. 데이터베이스 쿼리를 저장하기 위해 hired
이 필요한 경우에만 관계를로드하고 싶습니다. 따라서 hired
을 private으로 설정하고 관계를로드하고 getHired()
이 호출되면 설정할 수 있습니다. 내 CGridView에 hired
필드를 통합하면
지금까지 너무 좋아
...문제가 발생합니다. 예 또는 아니요에 대한 간단한 드롭 다운 필터링을 사용하여 열 필터를 사용할 수있게하고 싶습니다. 필터를 작성하면 CGridView가 거대한 할당을 사용하여 삭제 된 모델로 설정하는 GET 요청을 다시 전달합니다.
$model->attributes = $_GET['ModelName'];
분명히 나는 개인 필드 임에도 불구하고 hired
을 설정하려고합니다. (나는 CGridView에 대한 검색을 처리합니다. 걱정하지 마십시오.) 내 모델에서 안전한 필드를 만들었지 만 설정된 것은 아닙니다.
setHired()
기능은 호출되지 않습니다
setAttribute()
기능은
이 작업을 수행하는 올바른 방법은 무엇입니까 불리는되지 않습니다
setAttributes()
함수를 호출되지 않습니다? 분명히, 난 그냥 ... 내 컨트롤러 액션에 if (isset($_GET['ModelName']['hired']))
$model->setHired($_GET['ModelName']['hired']);
을 추가 라인을 추가 할 수 있습니다 ...하지만 난 정말이 아니라 개인 필드가 대량으로 할당 할 수 있도록하는 방법을 배울 것입니다.
나는 이것이 다소 복잡한 것을 알고 있습니다. 이 hired
비트를 간소화 할 수있는 방법이 있다면 그 점을 이해할 수있을 것입니다. 그래도이 일을 할 수있는 방법이 있는지 배우고 싶습니다.