国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 php手冊 ThinkPHP關(guān)聯(lián)模型操作實(shí)例分析

ThinkPHP關(guān)聯(lián)模型操作實(shí)例分析

Jun 13, 2016 am 11:58 AM
h one thinkphp 下面 關(guān)系 關(guān)聯(lián) 實(shí)例分析 我們 操作 模型

通常我們所說的關(guān)聯(lián)關(guān)系包括下面三種:

◇ 一對一關(guān)聯(lián) : ONE_TO_ONE , 包括 HAS_ONE 和 BELONGS_TO
◇ 一對多關(guān)聯(lián) : ONE_TO_MANY , 包括 HAS_MANY 和 BELONGS_TO
◇ 多對多關(guān)聯(lián) : MANY_TO_MANY

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

數(shù)據(jù)表的關(guān)聯(lián) CURD 操作,目前支持的關(guān)聯(lián)關(guān)系包括下面四種:HAS_ONE 、 BELONGS_TO 、 HAS_MANY 、 MANY_TO_MANY 。

一個模型根據(jù)業(yè)務(wù)模型的復(fù)雜程度可以同時定義多個關(guān)聯(lián),不受限制,所有的關(guān)聯(lián)定義都統(tǒng)一在模型類的 $_link 成員變量里面定義,并且可以支持動態(tài)定義。要支持關(guān)聯(lián)操作,模型類必須繼承 RelationModel 類,關(guān)聯(lián)定義的格式是:

復(fù)制代碼 代碼如下:


protected $_link = array(
' 關(guān)聯(lián) 1' => array(
' 關(guān)聯(lián)屬性 1' => ' 定義 ',
' 關(guān)聯(lián)屬性 N' => ' 定義 ',
),
' 關(guān)聯(lián) 2' => array(
' 關(guān)聯(lián)屬性 1' => ' 定義 ',
' 關(guān)聯(lián)屬性 N' => ' 定義 ',
),
...
);


HAS_ONE 關(guān)聯(lián)方式的定義:

復(fù)制代碼 代碼如下:


class UserModel extends RelationModel
{
public $_link = array(
'Profile'=> array(
'mapping_type' =>HAS_ONE,
'class_name'=>'Profile',
// 定義更多的關(guān)聯(lián)屬性
……
) ,
);
}


mapping_type 關(guān)聯(lián)類型,這個在 HAS_ONE 關(guān)聯(lián)里面必須使用 HAS_ONE 常量定義。
class_name 要關(guān)聯(lián)的模型類名
mapping_name 關(guān)聯(lián)的映射名稱,用于獲取數(shù)據(jù)用
foreign_key 關(guān)聯(lián)的外鍵名稱
condition 關(guān)聯(lián)條件
mapping_fields 關(guān)聯(lián)要查詢的字段
as_fields 直接把關(guān)聯(lián)的字段值映射成數(shù)據(jù)對象中的某個字段

BELONGS_TO 關(guān)聯(lián)方式的定義:

復(fù)制代碼 代碼如下:


'Dept'=> array(
'mapping_type'=>BELONGS_TO,
'class_name'=>'Dept',
'foreign_key'=>'userId',
'mapping_name'=>'dept',
// 定義更多的關(guān)聯(lián)屬性
……
) ,


class_name 要關(guān)聯(lián)的模型類名
mapping_name 關(guān)聯(lián)的映射名稱,用于獲取數(shù)據(jù)用
foreign_key 關(guān)聯(lián)的外鍵名稱
mapping_fields 關(guān)聯(lián)要查詢的字段
condition 關(guān)聯(lián)條件
parent_key 自引用關(guān)聯(lián)的關(guān)聯(lián)字段
as_fields 直接把關(guān)聯(lián)的字段值映射成數(shù)據(jù)對象中的某個字段

HAS_MANY 關(guān)聯(lián)方式的定義:

復(fù)制代碼 代碼如下:


'Article'=> array(
'mapping_type' =>HAS_MANY,
'class_name'=>'Article',
'foreign_key'=>'userId',
'mapping_name'=>'articles',
'mapping_order'=>'create_time desc',
// 定義更多的關(guān)聯(lián)屬性
……
) ,


class_name 要關(guān)聯(lián)的模型類名
mapping_name 關(guān)聯(lián)的映射名稱,用于獲取數(shù)據(jù)用
foreign_key 關(guān)聯(lián)的外鍵名稱
parent_key 自引用關(guān)聯(lián)的關(guān)聯(lián)字段
condition 關(guān)聯(lián)條件
mapping_fields 關(guān)聯(lián)要查詢的字段
mapping_limit 關(guān)聯(lián)要返回的記錄數(shù)目
mapping_order 關(guān)聯(lián)查詢的排序

MANY_TO_MANY 關(guān)聯(lián)方式的定義:

復(fù)制代碼 代碼如下:


"Group"=>array(
'mapping_type'=>MANY_TO_MANY,
'class_name'=>'Group',
'mapping_name'=>'groups',
'foreign_key'=>'userId',
'relation_foreign_key'=>'goupId',
'relation_table'=>'think_gourpUser'
)


class_name 要關(guān)聯(lián)的模型類名
mapping_name 關(guān)聯(lián)的映射名稱,用于獲取數(shù)據(jù)用
foreign_key 關(guān)聯(lián)的外鍵名稱
relation_foreign_key 關(guān)聯(lián)表的外鍵名稱
mapping_limit 關(guān)聯(lián)要返回的記錄數(shù)目
mapping_order 關(guān)聯(lián)查詢的排序
relation_table 多對多的中間關(guān)聯(lián)表名稱

關(guān)聯(lián)查詢

使用 relation 方法進(jìn)行關(guān)聯(lián)操作, relation 方法不但可以啟用關(guān)聯(lián)還可以控制局部關(guān)聯(lián)操作,實(shí)現(xiàn)了關(guān)聯(lián)操作一切盡在掌握之中。

$User = D( "User" );
$user = $User->realtion(true)->find(1);

輸出 $user 結(jié)果可能是類似于下面的數(shù)據(jù):

復(fù)制代碼 代碼如下:


array(
'id'=>1,
'account'=>'ThinkPHP',
'password'=>'123456',
'Profile'=> array(
'email'=>'liu21st@gmail.com',
'nickname'=>'流年',
) ,
)


關(guān)聯(lián)寫入

復(fù)制代碼 代碼如下:


$User = D( "User" );
$data = array();
$data["account"]="ThinkPHP";
$data["password"]="123456";
$data["Profile"]=array(
'email'=>'liu21st@gmail.com',
'nickname' =>' 流年 ',
) ;
$result = $User->relation(true)->add($user);


這樣就會自動寫入關(guān)聯(lián)的 Profile 數(shù)據(jù)。

關(guān)聯(lián)更新

復(fù)制代碼 代碼如下:


$User = D( "User" );
$data["account"]= "ThinkPHP";
$data["password"]= "123456";
$data["Profile"]=array(
'email'=>'liu21st@gmail.com',
'nickname' =>' 流年 ',
) ;
$result =$User-> relation(true)->where(‘id=3')->save($data);


關(guān)聯(lián)刪除

$result =$User->relation(true)->delete( "3" );
本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

你好,電動Atlas!波士頓動力機(jī)器人復(fù)活,180度詭異動作嚇壞馬斯克 你好,電動Atlas!波士頓動力機(jī)器人復(fù)活,180度詭異動作嚇壞馬斯克 Apr 18, 2024 pm 07:58 PM

波士頓動力Atlas,正式進(jìn)入電動機(jī)器人時代!昨天,液壓Atlas剛剛「含淚」退出歷史舞臺,今天波士頓動力就宣布:電動Atlas上崗。看來,在商用人形機(jī)器人領(lǐng)域,波士頓動力是下定決心要和特斯拉硬剛一把了。新視頻放出后,短短十幾小時內(nèi),就已經(jīng)有一百多萬觀看。舊人離去,新角色登場,這是歷史的必然。毫無疑問,今年是人形機(jī)器人的爆發(fā)年。網(wǎng)友銳評:機(jī)器人的進(jìn)步,讓今年看起來像人類的開幕式動作、自由度遠(yuǎn)超人類,但這真不是恐怖片?視頻一開始,Atlas平靜地躺在地上,看起來應(yīng)該是仰面朝天。接下來,讓人驚掉下巴

全球最強(qiáng)開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅為 GPT-4-Turbo 的近百分之一 全球最強(qiáng)開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅為 GPT-4-Turbo 的近百分之一 May 07, 2024 pm 04:13 PM

想象一下,一個人工智能模型,不僅擁有超越傳統(tǒng)計算的能力,還能以更低的成本實(shí)現(xiàn)更高效的性能。這不是科幻,DeepSeek-V2[1],全球最強(qiáng)開源MoE模型來了。DeepSeek-V2是一個強(qiáng)大的專家混合(MoE)語言模型,具有訓(xùn)練經(jīng)濟(jì)、推理高效的特點(diǎn)。它由236B個參數(shù)組成,其中21B個參數(shù)用于激活每個標(biāo)記。與DeepSeek67B相比,DeepSeek-V2性能更強(qiáng),同時節(jié)省了42.5%的訓(xùn)練成本,減少了93.3%的KV緩存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

thinkphp有幾個版本 thinkphp有幾個版本 Apr 09, 2024 pm 06:09 PM

ThinkPHP 擁有多個版本,針對不同 PHP 版本而設(shè)計。主要版本包括 3.2、5.0、5.1 和 6.0,而次要版本用于修復(fù) bug 和提供新功能。當(dāng)前最新穩(wěn)定版本為 ThinkPHP 6.0.16。在選擇版本時,需考慮 PHP 版本、功能需求和社區(qū)支持。建議使用最新穩(wěn)定版本以獲得最佳性能和支持。

特斯拉機(jī)器人進(jìn)廠打工,馬斯克:手的自由度今年將達(dá)到22個! 特斯拉機(jī)器人進(jìn)廠打工,馬斯克:手的自由度今年將達(dá)到22個! May 06, 2024 pm 04:13 PM

特斯拉機(jī)器人Optimus最新視頻出爐,已經(jīng)可以在廠子里打工了。正常速度下,它分揀電池(特斯拉的4680電池)是這樣的:官方還放出了20倍速下的樣子——在小小的“工位”上,揀啊揀啊揀:這次放出的視頻亮點(diǎn)之一在于Optimus在廠子里完成這項工作,是完全自主的,全程沒有人為的干預(yù)。并且在Optimus的視角之下,它還可以把放歪了的電池重新?lián)炱饋矸胖?,主打一個自動糾錯:對于Optimus的手,英偉達(dá)科學(xué)家JimFan給出了高度的評價:Optimus的手是全球五指機(jī)器人里最靈巧的之一。它的手不僅有觸覺

替代MLP的KAN,被開源項目擴(kuò)展到卷積了 替代MLP的KAN,被開源項目擴(kuò)展到卷積了 Jun 01, 2024 pm 10:03 PM

本月初,來自MIT等機(jī)構(gòu)的研究者提出了一種非常有潛力的MLP替代方法——KAN。KAN在準(zhǔn)確性和可解釋性方面表現(xiàn)優(yōu)于MLP。而且它能以非常少的參數(shù)量勝過以更大參數(shù)量運(yùn)行的MLP。比如,作者表示,他們用KAN以更小的網(wǎng)絡(luò)和更高的自動化程度重現(xiàn)了DeepMind的結(jié)果。具體來說,DeepMind的MLP有大約300,000個參數(shù),而KAN只有約200個參數(shù)。KAN與MLP一樣具有強(qiáng)大的數(shù)學(xué)基礎(chǔ),MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下圖所示,KAN在邊上具

本地運(yùn)行性能超越 OpenAI Text-Embedding-Ada-002 的 Embedding 服務(wù),太方便了! 本地運(yùn)行性能超越 OpenAI Text-Embedding-Ada-002 的 Embedding 服務(wù),太方便了! Apr 15, 2024 am 09:01 AM

Ollama是一款超級實(shí)用的工具,讓你能夠在本地輕松運(yùn)行Llama2、Mistral、Gemma等開源模型。本文我將介紹如何使用Ollama實(shí)現(xiàn)對文本的向量化處理。如果你本地還沒有安裝Ollama,可以閱讀這篇文章。本文我們將使用nomic-embed-text[2]模型。它是一種文本編碼器,在短的上下文和長的上下文任務(wù)上,性能超越了OpenAItext-embedding-ada-002和text-embedding-3-small。啟動nomic-embed-text服務(wù)當(dāng)你已經(jīng)成功安裝好o

FisheyeDetNet:首個基于魚眼相機(jī)的目標(biāo)檢測算法 FisheyeDetNet:首個基于魚眼相機(jī)的目標(biāo)檢測算法 Apr 26, 2024 am 11:37 AM

目標(biāo)檢測在自動駕駛系統(tǒng)當(dāng)中是一個比較成熟的問題,其中行人檢測是最早得以部署算法之一。在多數(shù)論文當(dāng)中已經(jīng)進(jìn)行了非常全面的研究。然而,利用魚眼相機(jī)進(jìn)行環(huán)視的距離感知相對來說研究較少。由于徑向畸變大,標(biāo)準(zhǔn)的邊界框表示在魚眼相機(jī)當(dāng)中很難實(shí)施。為了緩解上述描述,我們探索了擴(kuò)展邊界框、橢圓、通用多邊形設(shè)計為極坐標(biāo)/角度表示,并定義一個實(shí)例分割mIOU度量來分析這些表示。所提出的具有多邊形形狀的模型fisheyeDetNet優(yōu)于其他模型,并同時在用于自動駕駛的Valeo魚眼相機(jī)數(shù)據(jù)集上實(shí)現(xiàn)了49.5%的mAP

牛津大學(xué)最新!Mickey:3D中的2D圖像匹配SOTA!(CVPR\'24) 牛津大學(xué)最新!Mickey:3D中的2D圖像匹配SOTA!(CVPR\'24) Apr 23, 2024 pm 01:20 PM

寫在前面項目鏈接:https://nianticlabs.github.io/mickey/給定兩張圖片,可以通過建立圖片之間的對應(yīng)關(guān)系來估計它們之間的相機(jī)姿態(tài)。通常,這些對應(yīng)關(guān)系是二維到二維的,而我們估計的姿態(tài)在尺度上是不確定的。一些應(yīng)用,例如隨時隨地實(shí)現(xiàn)即時增強(qiáng)現(xiàn)實(shí),需要尺度度量的姿態(tài)估計,因此它們依賴于外部的深度估計器來恢復(fù)尺度。本文提出了MicKey,這是一個關(guān)鍵點(diǎn)匹配流程,能夠夠預(yù)測三維相機(jī)空間中的度量對應(yīng)關(guān)系。通過學(xué)習(xí)跨圖像的三維坐標(biāo)匹配,我們能夠在沒有深度測試的情況下推斷出度量相對

See all articles