>  기사  >  데이터 베이스  >  다음은 질문 형식을 사용하여 질문 및 답변 형식에 초점을 맞춘 몇 가지 제목 옵션입니다. **옵션 1(직접 및 명확):** * **단일 테이블 상속과 다중 테이블 상속: 어느 것입니까?

다음은 질문 형식을 사용하여 질문 및 답변 형식에 초점을 맞춘 몇 가지 제목 옵션입니다. **옵션 1(직접 및 명확):** * **단일 테이블 상속과 다중 테이블 상속: 어느 것입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-24 22:01:02465검색

Here are a few title options that focus on the question and answer format, using a question format:

**Option 1 (Direct and Clear):**

* **Single Table Inheritance vs. Multi Table Inheritance: Which is Right for Your Laravel Model?**

**Option 2 (More Spe

Laravel Eloquent 단일 테이블 상속

문제

공통 속성을 공유하지만 고유한 속성을 갖는 여러 모델 유형을 생성하기 위해 단일 테이블 상속을 구현하려고 합니다. .

해결책: 단일 테이블 상속

단일 테이블 상속 사용을 고려해보세요. 이 접근 방식에는 다음이 있습니다.

  • 단일 테이블에 바인딩된 기본 Post 모델.
  • Post를 확장하는 파생 기사 및 질문 모델.
  • 유형 열 Post 테이블을 사용하여 모델 유형을 구분합니다.

해결책: 다중 테이블 상속

단일 테이블 상속으로 인해 null 값이 발생할 수 있습니다. 대신 다중 테이블 상속을 고려하세요.

  • 각 모델 유형(게시물, 질문, 기사)에 대해 별도의 테이블을 사용하세요.
  • 게시물 테이블의 외래 키 열(postable_id, postable_type)은 다른 테이블을 참조합니다.
  • 테이블을 연결하기 위한 Eloquent 모델의 다형성 관계

Eloquent 모델 설정

게시

<code class="php">class Post extends Eloquent {
    public function postable() {
        return $this->morphTo();
    }
}</code>

질문 /

<code class="php">class Question extends Post {
    public function post() {
        return $this->morphOne('Post', 'postable');
    }
}</code>

사용법:

<code class="php">$posts = Post::all();
$questions = Question::all();

$post = Post::find(1);
$question_column2 = $post->postable->question_column2;
$shared_column = $question->post->shared_column;</code>

위 내용은 다음은 질문 형식을 사용하여 질문 및 답변 형식에 초점을 맞춘 몇 가지 제목 옵션입니다. **옵션 1(직접 및 명확):** * **단일 테이블 상속과 다중 테이블 상속: 어느 것입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.