表的關聯 續

2021-04-25 19:12:45 字數 1235 閱讀 3163

如何定義表關聯?

$belongsto

定義從屬關聯

格式一:  

格式二:  

* class articles

* 格式二是一種簡化寫法。foreignkey 欄位名將和關聯表的主鍵欄位名相同。

$hasmany

定義一對多關聯

1、外來鍵儲存在關聯表中; �

2、儲存時自動更新關聯表的記錄; �

3、刪除主表記錄時自動刪除關聯記錄。

示例: �

每個使用者(user)有多張訂單 order。

格式一:  

格式二:  

* class users

* 簡化寫法中,foreignkey 欄位名將和當前表的主鍵欄位名相同。

$hasone

定義一對一關聯

1、外來鍵放置在關聯表中;

2、儲存時如果有關聯物件,則自動建立或更新關聯表的記錄; �

3、刪除主表記錄時自動刪除關聯記錄。

示例: �

當前表為 users,用於儲存使用者賬戶。而每個使用者賬戶有且只有乙個對應的個人資訊(profile)記錄。

格式一:  

格式二:  

* class users

* 格式二是一種簡化寫法。foreignkey 欄位名將和主表的主鍵欄位名名相同。

$manytomany

�定義多對多關聯

1、外來鍵儲存在中間表裡面;

2、儲存時自動更新中間表; �

3、刪除主表記錄時自動刪除中間表的相關記錄。

示例: �

每個成員(member)可以擁有多個角色(role),而每個角色也可以指定給多個成員。

格式一:  

在多對多關係中,當前表並不包含對關聯表的主鍵引用。 �

而是在乙個中間表裡面儲存對當前表和關聯表的主鍵引用。

在上面的格式中,jointable 表示中間表的名字。foreignkey 和 �

assocforeignkey 分別表示在中間表裡面用什麼字段儲存對主表和 �

關聯表主鍵欄位的引用。

格式二:  

* class members

* 簡化寫法中,foreignkey 欄位名將和當前表的主鍵欄位名相同。

assocforeignkey欄位名稱則和關聯資料表的主鍵欄位名相同。

而中間表名稱將用flea_db_tabledatagateway::getmidtablename() 方法計算。

mysql表關聯 MySQL表關聯的幾種常用方式

工作中我們經常會使用表與表關聯來查詢資料,如果對join 不熟悉,可能會得到我們不想要的節過,這裡就來介紹下join的幾種常用方法 建表及插入資料,create table school sch id int 11 not null auto increment,sch name varchar 5...

動態關聯表

示例資料 create table table a sysname,b varchar 10 insert table select table 1 a union all select table 2 b create table table 1 a int insert table 1 sele...

動態關聯表

最後再說一句。我在老闆那裡看見這句話,忍不住與大家分享 我喜歡在這個地方工作 microsoft 過去有過許多競爭者。還好,我們有很多博物館來收藏它們。microsoft 董事長 bill gates,forbes.com,2004 年 10 月 4 日。shawn msdn online 總編輯 ...