有關TP5 模型關聯隨筆

2021-10-06 09:25:57 字數 1129 閱讀 7899

一對一關聯

hasone(『關聯模型』,『外來鍵』,『主鍵』);

關聯模型(必須):關聯的模型名或者類名

外來鍵:預設的外來鍵規則是當前模型名(不含命名空間,下同)+_id ,例如user_id

主鍵:當前模型主鍵,缺省會自動獲取也可以指定傳入

一對多關聯

hasmany(『關聯模型』,『外來鍵』,『主鍵』);

關聯模型(必須):模型名或者模型類名

外來鍵:關聯模型外來鍵,預設的外鍵名規則是當前模型名+_id

主鍵:當前模型主鍵,一般會自動獲取也可以指定傳入

一對一關聯

belongsto(『關聯模型』,『外來鍵』,『主鍵』);

關聯模型(必須):關聯的模型名或者類名

外來鍵:預設的外來鍵規則是當前模型名(不含命名空間,下同)+_id ,例如user_id

主鍵:當前模型主鍵,缺省會自動獲取也可以指定傳入

/**

* 文章模型

* class article

*/class

article

extends

basemodel

/** * 關聯文章內容圖

* @return \think\model\relation\hasone

*/public

function

article_image()

如果通過內容圖關聯查詢文章內容

/**

* 模型

* class image

*/class

image

extends

basemodel

belongsto和hasone這兩個方法的區別

在關係型資料庫中,表之間有一對

一、一對多、多對多的關係

一對一關係,存在主從關係(主表和從表 ),主表不包含外來鍵,從表包含外來鍵。

hasone 和 belongsto 都是一對一關係,區別:

在主表的模型中建立關聯關係,用 hasone

在從表模型中建立關聯關係,用 belongsto

如果還覺得不夠詳細可以參考下面文章

例項講解tp5中關聯模型:

tp5 模型關聯

二 文章中用到的表結構 image 表,儲存的位置資訊 banner 推薦位表,儲存推薦位的型別 banner item 表,推薦位中的資訊條目,可以看到它擁有外來鍵 img id theme 表,商品活動主題,包含頭圖,主題圖 product 表,商品表 theme product 表,theme...

例項講解TP5中關聯模型

二 文章中用到的表結構 image 表,儲存的位置資訊 banner 推薦位表,儲存推薦位的型別 banner item 表,推薦位中的資訊條目,可以看到它擁有外來鍵 img id theme 表,商品活動主題,包含頭圖,主題圖 product 表,商品表 theme product 表,theme...

TP5隱藏關聯屬性字段

環境thinkphp5 php7.0.10 我們通常會隱藏一些字段,應用於不同的介面 先將database的配置檔案更改,將資料集返回型別改為collection 下面我們的介面的查詢不管是find 還是select 都一樣處理 group group hidden name group是mode查...