찾다
PHP 프레임워크YIIyii2 하손 사용 방법
yii2 하손 사용 방법Nov 07, 2019 am 09:57 AM
yii2

Yii2에는 두 가지 모델 간의 연관성을 지정하는 데 사용되는 두 가지 유형의 테이블 간 연관성이 있습니다.

yii2 하손 사용 방법

일대다: hasMany

일대일: hasOne (권장 학습: yii tutorial)

반환 결과: 이 두 메소드의 반환 결과는 모두 yiidbActiveQuery 객체입니다

첫 번째 매개변수: 연관된 모델의 클래스 이름.

두 번째 매개변수: 배열입니다. 여기서 키는 관련 모델의 속성이고 값은 현재 모델의 속성입니다.

Association of Association

이제 고객의 모든 주문 정보를 가져옵니다

$customer = Customer::findOne(1);  
$orders = $customer->orders; // 通过在Customer中定义的关联方法(getOrders())来获取这个客户的所有的订单。

위의 두 줄의 코드는 다음과 같은 SQL 문을 생성합니다

SELECT * FROM customer WHERE id=1;  
SELECT * FROM order WHERE customer_id=1;

Association 결과 캐시

고객의 주문이 변경되면, we

$orders = $customer->orders;

에 다시 전화해서 다시 주문을 받아보면 아무런 변화가 없다는 것을 알게 될 것입니다. 그 이유는 $customer->orders가 처음 실행될 때만 데이터베이스를 쿼리하고 결과를 캐시하며 이후 쿼리에서는 sql이 실행되지 않기 때문입니다.

그럼 다시 SQL을 실행하고 싶다면 어떻게 해야 할까요?

unset($customer->orders);  
$customer->orders;

를 실행한 다음 데이터베이스에서 데이터를 가져올 수 있습니다.

코드 설명:

// 执行sql语句: SELECT * FROM customer WHERE id=1  
$customer = Customer::findOne(1);  
//执行sql:SELECT * FROM order WHERE customer_id=1  
$orders1 = $customer->orders;  
//这个不会执行sql,直接使用上面的缓存结果  
$orders2 = $customer->orders;
//如果中间的用户订单有变化,我们就不能从缓存中获取,要unset掉
unset($customer->orders);  
$orders2 = $customer->orders;

위 내용은 yii2 하손 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
YII 프레임 타임 스탬프 튜토리얼을 설정하는 방법YII 프레임 타임 스탬프 튜토리얼을 설정하는 방법Mar 06, 2025 pm 02:18 PM

이 튜토리얼은 YII Framework의 타임 스탬프 관리를 보여줍니다. Automatic Create_at 및 Updated_at 업데이트에 TimestampBehavior를 사용하여 세부 정보를 사용하여 사용자 정의 옵션을 제공하고 수동 업데이트, 데이터베이스 트리거 및 사용자 정의 BE와 비교합니다.

클라우드 네이티브 환경에서 YII를 사용하기위한 모범 사례는 무엇입니까?클라우드 네이티브 환경에서 YII를 사용하기위한 모범 사례는 무엇입니까?Mar 18, 2025 pm 04:39 PM

이 기사는 컨테이너화, 오케스트레이션 및 보안 조치를 통한 확장 성, 신뢰성 및 효율성에 중점을 둔 클라우드 네이티브 환경에 YII 애플리케이션을 배포하기위한 모범 사례에 대해 설명합니다.

YII 및 Laravel 프레임 워크 비교 YII와 Laravel 프레임 워크의 차이점은 무엇입니까?YII 및 Laravel 프레임 워크 비교 YII와 Laravel 프레임 워크의 차이점은 무엇입니까?Mar 06, 2025 pm 02:17 PM

이 기사는 PHP 프레임 워크 YII 및 Laravel을 비교합니다. YII는 속도와 구조를 우선시하는 반면 Laravel은 개발자 경험과 유연성을 강조합니다. 둘 다 대규모 응용 프로그램을 처리하지만 YII는 우수한 원시 성능을 제공하는 반면 LA

YII 프레임 워크는 어떻습니까?YII 프레임 워크는 어떻습니까?Mar 06, 2025 pm 02:20 PM

이 기사는 대규모 웹 응용 프로그램에 이상적인 고성능 PHP 프레임 워크 인 YII를 소개합니다. YII의 속도, 보안 및 강력한 아키텍처 (MVC)를 강조하여 Laravel, Symfony 및 COD와 같은 다른 프레임 워크에 대한 장점을 강조합니다.

yii 프레임 워크의 장단점yii 프레임 워크의 장단점Mar 06, 2025 pm 02:22 PM

이 기사는 YII 프레임 워크의 강점과 약점을 분석합니다. YII의 고성능, 강력한 보안, 빠른 개발 기능 및 확장 성을 강조하지만 소규모 PR에 대한 가파른 학습 곡선과 잠재적 복잡성도 언급합니다.

YII 프레임 워크와 TP 프레임 워크의 차이점은 무엇입니까?YII 프레임 워크와 TP 프레임 워크의 차이점은 무엇입니까?Mar 06, 2025 pm 02:21 PM

이 기사는 YII와 ThinkPHP (TP) 프레임 워크를 비교합니다. 선택은 프로젝트 규모와 개발자 경험에 따라 다릅니다. 강력하고 성숙한 Yii는 고성능이 필요한 대형 복잡한 프로젝트에 적합합니다. 개발을 위해 더 단순하고 빠른 TP는 f입니다

공개 기능을 호출하는 방법 yii 공개 기능을 호출하는 방법 yii 튜토리얼공개 기능을 호출하는 방법 yii 공개 기능을 호출하는 방법 yii 튜토리얼Mar 06, 2025 pm 02:23 PM

이 기사는 YII 응용 프로그램에서 공통 기능을 호출하고 구성하는 방법에 대해 자세히 설명합니다. 재사용 가능성과 유지 관리를 향상시키기 위해 전용 앱/헬퍼 디렉토리에서 이상적으로 클래스 내에서 기능을 캡슐화하는 것을 옹호합니다. 다른 접근

서버리스 아키텍처에서 YII를 사용하기위한 주요 고려 사항은 무엇입니까?서버리스 아키텍처에서 YII를 사용하기위한 주요 고려 사항은 무엇입니까?Mar 18, 2025 pm 04:33 PM

이 기사는 Serverless Architectures에서 YII를 사용하기위한 주요 고려 사항에 대해 논의하고, 무국적, 콜드 스타트, 기능 크기, 데이터베이스 상호 작용, 보안 및 모니터링에 중점을 둡니다. 또한 최적화 전략과 잠재적 인적 통합을 다룹니다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.