thinkphpモデルのhasOneにある同じ名前のフィールドの問題を解決する方法

一个新手
リリース: 2018-05-23 16:49:12
オリジナル
2834 人が閲覧しました

2つのテーブルがあります: プレイテーブルとタイプテーブル

プレイテーブルフィールド:

id type

type テーブルフィールド:

id title

type とプレイテーブル内タイプテーブルのidが関連付けられます。

thinkphp5 のモデル定義は次のとおりです:

play モデル:

class Play extends Model
{
    protected $table = 'wx_play';

    public function type2()
    {
        return $this->hasOne("Type", "id", "type");
    }
ログイン後にコピー

type モデル:

class Type extends Model
{
    protected $table = 'wx_type';
}
ログイン後にコピー

注:

play モデルの type2 関数は使用できません。書かれるタイプとして、そうでない場合、プレイ テーブルのタイプ フィールドと競合し、タイプ テーブルのオブジェクトではなく、プレイ テーブルのフィールドのみがクエリされることになります。

thinkphp5 のドキュメントによると:

ヒント:
Play モデルの type2 メソッドは関連付け定義メソッドです。メソッド名は任意に付けることができますが、メソッドのフィールド属性との競合を避けるように注意してください。 Play モデル オブジェクト。

以上がthinkphpモデルのhasOneにある同じ名前のフィールドの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート