Relation用法

Pix Table

Pix Table 有兩種 relation , has one 跟 has many。

has one 可以從一個 Row 拉出另一個 Row,例如一個使用者(User Table) has one 名片資訊(Profile Table),就可以用 $profile = $user->profile; 拉出這個 User 的 Profile。

has many 可以從一個 Row 拉出另一個 ResultSet,例如一篇文章(Article Table) has many 留言(Comment Table),就可以用 $comments = $article->comments; 拉出 這個 Article 的 Comment ResultSet

設定的方式是在 Table 的 init 中,指定 $this->_relations['name'] = array options,範例如下:

$this->_relations 內只有四個 option 可以指定:

  • rel: 只會是 has_one 或 has_many
  • type: 拉出來的 relation 會是什麼 Table
  • foreign_key: 關聯的 column 名稱,如果是 A has_one B,這邊指定的是 A 上面的 column ,如果是 A has_many B,這邊指定的是 B 上面的 column
  • delete: true or false(default false),如果這個 Row 被刪除時,是否要連動刪除 relation 的 Row 或 ResultSet

新增Relation的Row

或者是

或是