1

Phalcon MVC モデル間の親子関係をどのように作成しますか?

これは、私が念頭に置いている DB スキーマです。

explain show;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id      | int(11)      | NO   | PRI | NULL    |       |
| length  | int(11)      | NO   |     | NULL    |       |
| title   | varchar(100) | NO   |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+

explain show_episode;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| show_id | int(11)      | NO   | PRI | NULL    |       |
| season  | int(11)      | NO   |     | NULL    |       |
| episode | int(11)      | NO   |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+

の各要素show_episodeは table にも存在しshowますが、 にのみ存在する show レコードがありますshow

アイデアは、2 つの Phalcon Model クラスを持つことです。

class Show extends Phalcon\Mvc\Model
{
  public $id;
  public $length;
  public $title;
}

class ShowEpisode extends Show 
{
  public $season;
  public $episode;
}

次のようにエピソード レコードを取得して保存できるようにするには、これらのモデルをどのように構成する必要がありますか。

// retrieve
$episode = ShowEpisode::findFirst(array("id"=>333));
echo $episode->season;
echo $episode->title;

// save
$episode->title = "New Title";
$episode->season = 3;
$episode->save();
4

1 に答える 1

0

見ましたか?

class Show extends Phalcon\Mvc\Model
{
  public $id;
  public $length;
  public $title;

  public function initialize()
  {
    $this->hasMany("id", "Episode", "showid", NULL);
  }
}

それとも似たようなもの?

于 2013-10-28T10:43:15.810 に答える