PHP를 사용할 때 문제가 발생했습니다
예를 들어 지금 테이블이 3개 있습니다
사용자 테이블: 사용자
제품 테이블: 상품
바우처: 티켓
사용자 주소: 주소
이것은
사용자, 상품, 티켓, 주소
세 가지 개체에 해당합니다.
이제 여러 기능이 있습니다: 사용자 바우처 가져오기, 사용자가 사용할 수 있는 바우처 가져오기, 사용자 주소 목록 가져오기, 사용자가 구매한 항목 가져오기
<code class="php">class User extends Model{ public function oder() { return OrderRepository::getByUserId($this->id); } public function successOrder() { return OrderRepository::getSuccessByUserId($this->id); } public function cancelOrder() { return OrderRepository::getCancelByUserId($this->id); } public function address() { return AddressRepository::getByUserId($this->id); } ... }</code>
이렇게 하는 이유는 사용자와 밀접하게 관련된 작업을 사용자 개체에 넣는 것이 더 합리적이라고 생각합니다. 사용자 클래스가 너무 큽니다!
PHP를 사용할 때 문제가 발생했습니다
예를 들어 지금 테이블이 3개 있습니다
사용자 테이블: 사용자
제품 테이블: 상품
바우처: 티켓
사용자 주소: 주소
이것은
사용자, 상품, 티켓, 주소
세 가지 개체에 해당합니다.
<code class="php">class User extends Model{ public function oder() { return OrderRepository::getByUserId($this->id); } public function successOrder() { return OrderRepository::getSuccessByUserId($this->id); } public function cancelOrder() { return OrderRepository::getCancelByUserId($this->id); } public function address() { return AddressRepository::getByUserId($this->id); } ... }</code>
보통 어떻게 처리하시나요?
모델 분류:
주문 모델은 주문 관련 항목만 저장합니다.
사업 분할과 분리에 주의하세요
로직 레이어, 모델 데이터 레이어, 서비스 서비스 레이어로 나눌 수도 있습니다
각 테이블에서 데이터를 가져오는 메서드는 해당 Model 클래스에 작성되어 있습니다. 여러 데이터 테이블에서 데이터를 가져오려면 컨트롤러에서 테이블에 해당하는 모델을 인스턴스화하고 해당 메서드를 호출하여 데이터를 가져옵니다. .컨트롤러에 데이터를 통합합니다.