超碰97资源在线免费观看-国产亚洲一区二区久久-欧美日韩成人字幕一区-激情五月网在线视频-亚洲天堂美女av在线-麻豆视传媒精品av-婷婷激情综合激情五月俺也去-国产精品久久久久久亚洲av站-51精产国品一二三产区区,久久久久久久区二区三区四区久久久,色哟哟视频国产精品,日韩va亚洲va欧美

中山php|最優(yōu)網(wǎng)絡(luò)中山做網(wǎng)站 中山php建站

最優(yōu)良人

2011/09/06 at 18:06

FleaPHP如何定義表關(guān)聯(lián)以及關(guān)聯(lián)的簡寫

定義從屬關(guān)聯(lián)

1、外鍵放置在主表中;
2、保存時不會自動更新關(guān)聯(lián)表的記錄;
3、刪除時也不會更新關(guān)聯(lián)表的記錄。

示例:
多個文章都屬于某一個欄目。

格式一:

* class Articles
* {
* var $belongsTo = array(
* array(
* ’tableClass’ => ‘Columns’,
* ’foreignKey’ => ‘column_id’,
* ’mappingName’ => ‘column’
* ),
* );
* }

在上面的格式中,foreignKey 表示在當(dāng)前表中用什么字段存儲對關(guān)聯(lián)表的主鍵引用。
mappingName 表示在主表的返回結(jié)果中,以什么名字保存關(guān)聯(lián)表的數(shù)據(jù)。
如果不提供 mappingName 參數(shù),則假定使用 tableClass。

格式二:

* class Articles
* {
* var $belongsTo = ‘Columns’;
* }

格式二是一種簡化寫法。foreignKey 字段名將和關(guān)聯(lián)表的主鍵字段名相同。

============================

$hasMany

定義一對多關(guān)聯(lián)

1、外鍵保存在關(guān)聯(lián)表中;
2、保存時自動更新關(guān)聯(lián)表的記錄;
3、刪除主表記錄時自動刪除關(guān)聯(lián)記錄。

示例:
每個用戶(user)有多張訂單 order。

格式一:

* class Users
* {
* var $hasMany = array(
* array(
* ’tableClass’ => ‘Orders’,
* ’foreignKey’ => ‘user_id’,
* ’mappingName’ => ‘orders’,
* ),
* );
* }

在一對多關(guān)系中,當(dāng)前表并不包含對關(guān)聯(lián)表的主鍵引用。
而是在關(guān)聯(lián)表中保存對當(dāng)前表的主鍵引用。
在上面的格式中,foreignKey 指示在關(guān)聯(lián)表中用什么字段存儲對當(dāng)前表的主鍵引用。
mappingName 表示在主表的返回結(jié)果中,以什么名字保存關(guān)聯(lián)表的數(shù)據(jù)。
如果不提供 mappingName 參數(shù),則假定使用 tableClass。

格式二:

* class Users
* {
* var $hasMany = ‘Orders’;
* }

簡化寫法中,foreignKey 字段名將和當(dāng)前表的主鍵字段名相同。

============================

$hasOne

定義一對一關(guān)聯(lián)
1、外鍵放置在關(guān)聯(lián)表中;
2、保存時如果有關(guān)聯(lián)對象,則自動創(chuàng)建或更新關(guān)聯(lián)表的記錄;
3、刪除主表記錄時自動刪除關(guān)聯(lián)記錄。

示例:
當(dāng)前表為 users,用于存儲用戶賬戶。而每個用戶賬戶有且只有一個對應(yīng)的個人信息(profile)記錄。

格式一:

* class Users
* {
* var $hasOne = array(
* array(
* ’tableClass’ => ‘Profiles’,
* ’foreignKey’ => ‘profile_id’,
* ’mappingName’ => ‘profile’,
* ),
* );
* }

在上面的格式中,foreignKey 表示在關(guān)聯(lián)表中用什么字段存儲對主表的主鍵引用。 mappingName 表示在主表的返回結(jié)果中,以什么名字保存關(guān)聯(lián)表的數(shù)據(jù)。 如果不提供 mappingName 參數(shù),則假定使用 tableClass。

格式二:

* class Users
* {
* var $hasOne = ‘Profiles’;
* }

格式二是一種簡化寫法。foreignKey 字段名將和主表的主鍵字段名名相同。

============================

$manyToMany

定義多對多關(guān)聯(lián)

1、外鍵保存在中間表里面;
2、保存時自動更新中間表;
3、刪除主表記錄時自動刪除中間表的相關(guān)記錄。

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

格式一:

* class Members
* {
* var $manyToMany = array(
* array(
* ’tableClass’ => ‘Roles’,
* ’joinTable’ => ‘member_roles’,
* ’foreignKey’ => ‘member_id’,
* ’assocforeignKey’ => ‘role_id’,
* ’mappingName’ => ‘roles’,
* ),
* );
* }

在多對多關(guān)系中,當(dāng)前表并不包含對關(guān)聯(lián)表的主鍵引用。
而是在一個中間表里面保存對當(dāng)前表和關(guān)聯(lián)表的主鍵引用。
在上面的格式中,joinTable 表示中間表的名字。foreignKey 和
assocforeignKey 分別表示在中間表里面用什么字段存儲對主表和
關(guān)聯(lián)表主鍵字段的引用。

mappingName 表示在主表的返回結(jié)果中,以什么名字保存關(guān)聯(lián)表的數(shù)據(jù)。
如果不提供 mappingName 參數(shù),則假定使用 tableClass。

格式二:

* class Members
* {
* var $manyToMany = ‘Roles’;
* }

簡化寫法中,foreignKey 字段名將和當(dāng)前表的主鍵字段名相同。
assocforeignKey字段名稱則和關(guān)聯(lián)數(shù)據(jù)表的主鍵字段名相同。
而中間表名稱將用FLEA_Db_TableDataGateway::getMidtableName() 方法計算。

hasOne 是一對多關(guān)聯(lián),表示一條主表記錄有一條對應(yīng)的關(guān)聯(lián)記錄。
而 belongsTo 是從屬關(guān)聯(lián),表示一條主表記錄屬于另一條關(guān)聯(lián)記錄。

hasOne 和 belongsTo 正好是相反的關(guān)系。

例如 “一個用戶”有一個“個人空間”。那么一個“個人空間”就屬于“一個用戶”。

由于 hasOne 實(shí)際上是 hasMany (一對多)關(guān)聯(lián)的一種特例,所以 belongsTo 和 hasMany 也是相反的關(guān)系。

標(biāo)簽:,
-
91嫩草欧美久久久九九九-久久亚洲欧美韩国日本-看中文字幕一区二区三区-久久久久国产精品人妻aⅴ免费 | 色综合男人天堂久久-日本丰满熟妇人妻一区二区三区-日韩精品人妻少妇有码-蜜桃久久99精品久久久酒店 | 亚洲岛国国产一区二区-国产精品久久久成人18-超碰98人人做人人爱-超碰在线人妻中文字幕网 | 国产精品日韩欧美亚洲另类-天天射天天操天天搞-国产精品人妻人伦a62v麻豆-91久久九九亚洲一区二区 | 人妻一区二区三区四区偷拍-日韩高清人妻免费啪-激情久久六月婷婷-亚洲av久久一区 | 天天天操天天天干天天天摸-国产av,男人天堂-婷婷亚洲一区二区三区-伊人久久大香蕉综合 | 国产毛片一区二区三区在线-日本精品中文字幕在线看-又黄又粗又硬又黄又爽又色-日本五十路熟妇av高清免费看 | 丰满人妻一区二区三区四区仙踪林-99久久国产精品九九-精品久久久久久久一区二区蜜桃-人妻97日韩精品中文字幕 | 九九热久久久99国产盗摄蜜臀-久久精品男人的天堂-日韩啪啪激情视频-蜜臀99精品久久久久 | 中文字幕人妻互换一区二区-日韩欧美国产熟妇-99精品视频国产免费-久久久亚洲精品蜜臀视频 | 91在线精品一区二高潮-色中文字幕亚洲-91成人国产一区二区-欧美日韩三区二区一区在线观看 | 色婷婷国产精品入口-寂寞人妻久久蜜桃试看-91精彩视频观看-日韩中文字幕不卡av | 亚洲大胆日韩视频专区-午夜精品久久久久久久91蜜桃-91久久久国产精品视频-日本精品啪啪啪一区二区三区 | 久久999精品国产只有精品-中文字幕在线不卡二区-久久精品人妻中文系列av-麻豆一区二区麻豆免费观看 | 婷婷麻豆国产在线观看-国产精品vⅰdeoxxxx国产-成人区精品一区二区婷婷-中文字幕偷乱视频在线 | 国产99视频精品免视看7-www日韩欧美国产-日韩 欧美一区二区三区在线观看-日韩色美女免费视频 | 91麻豆国产精品91久久久久久久-麻豆精品最新国产在线-色99免费在线视频-久久久中文字幕中文字幕性 | 日韩欧美国产自拍一区-性做久久久免费-亚洲区 欧美 另类-精品国产乱码久久久久久口爆网站 | 91久久久成人看片-日韩av熟在线-91久久国产精品视频-人妻丰满熟妇在线观看 | 年轻的母亲在线中文字幕-亚洲少妇人妻一区二区-国产精品久久精品999-免费日韩h视频播放在线观看 久久精品中文字幕一区二区三区-天天爽天天操天天射-精品人妻久久久一区二区三区-熟妇女人妻619丰满少妇香蕉 | 国产综合在线小视频-国产视频 日韩专区-人妻借种被粗大爽ⅹxoo视频-日韩av高清在线播放 | 亚洲一区二区va在线观看-久久精品色妇熟妇丰满人妻在线-日本久久久久久一级片-人妻少妇嫩草av蜜桃久久久久 | 国产又粗又猛又爽又黄的视频四-久久久久久久久久久黄色片-亚洲视频日韩精品免费在线观看-日韩欧美激情第一页 | 成人人妻久久综合视频-日韩专区www-国产日韩欧美精品久久久久-天天操天天日天天射天天爽 | 熟妇人妻√a精品中文字幕-中文字幕人妻免费视频-99久久99热精品-久久久久人妻精品系列 | 99热久久这里精品-中文字幕亚洲欧美日韩高清-超碰在线观看天天操-午夜精品乱码久久久久久 | 亚洲制服丝袜不卡中文字幕电影-亚洲国产精品久久久久久69-日韩成人在线观看视频-一道久久爱综合久久爱 | 美女中出视频在线观看-国产精品毛片久久久久久久久-18禁国产美女奶头久久久久久-精品久久久久久久久久蜜桃 | 99精品视频在线观看网址-一区二区三区在线观看/日韩-久久久最新精品视频-91超碰在线播放视频 | 人妻少妇被猛烈进入中文字幕91-成人黄色免费在线观看网站-国产av一区二区二区三区-精品一区二区三区免费网站 | 国产成人精品免费网站在线播放-国产麻豆剧传媒精品国产ac-亚洲欧美日韩国产图片-天天操天天日天天摸天天干 | 国产一区二区三区在线男友-国产成人精品在线久久-婷婷久久激情九月-久久精品欧美大胆a级 | 69精品人妻久久久久久久久-热热久久这里只有精品6-国产午夜一区二区三区18-91精品国产91久久久久久51 | 久久久人妻91久久久久久-亚洲综合色一区二区三区蜜臀-日一区二区三区在线视频-日韩福利视频一区二区三区 | 精品久久久久久国产免费-少妇人妻视频在线看-人妻免费人人干视频-99精品六月婷婷综合在线 | 麻豆小视频在线播放-人妻一区二区三区精品-色婷婷综合久久久中字幕精品久久-91精品丝袜人妻久久久 | 亚洲另类综合精品在线-开心网五月天色婷婷-中文字幕日韩在线人妻-久久国产免费,五月婷婷丁香 | 66国产精品久久久久久久-中文字幕免费在线av-极品人妻少妇一区二区三区四区-欧美激情不卡一区二区 | 中文字幕乱码一区久-欧美日韩一区二区三区四区在线-69精品一区二区三区在线-av天堂中文在线资源库 | 91沈先生极品外围在线观看-91精品国产综合久久蜜桃-91久久婷婷国产麻豆91-88久久国产综合久久91精品 | 91精品国产综合av蜜臀-极品亚洲精品国产精品国自产99-欧美丰满熟妇xxxx性久久久久-日韩成人在线大片 |