ホームページ  >  記事  >  データベース  >  ここでは、質問形式を使用した、質問と回答の形式に焦点を当てたタイトル オプションをいくつか示します。 **オプション 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 の雄弁な単一テーブルの継承

問題

単一テーブルの継承を実装して、共通のプロパティを共有しながらも固有のプロパティを持つ複数のモデル タイプを作成したいと考えています。 .

解決策: 単一テーブルの継承

単一テーブルの継承の使用を検討してください。このアプローチでは、

  • 単一のテーブルにバインドされた基本 Post モデル。
  • Post を拡張する派生 Article モデルと Question モデル。
  • の型列。 Post テーブルを使用してモデル タイプを区別します。

解決策: 複数のテーブルの継承

単一テーブルの継承では null 値が発生する可能性があります。代わりに、複数テーブルの継承を検討してください。

  • モデル タイプ (投稿、質問、記事) ごとにテーブルを分割します。
  • posts テーブル内の外部キー列 (postable_id、postable_type) は、他のキー列を参照します。テーブル。
  • テーブルを接続するための Eloquent モデルの多態性関係。

Eloquent モデルのセットアップ

Post

<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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。