詳解ThinkPHP5下has_one和belongs_to的區別

下面由thinkphp框架教程欄目給大家介紹thinkphp5下has_one和belongs_to的區別,希望對需要的朋友有所幫助!

ThinkPHP5下has_one和belongs_to的區別

在查閱了相關Tp5開發文檔和相關博客后,總結出關于belongsTo和hasOne的區別,主要是看你是在哪一個model(模型)中編寫這個關聯關系,父關聯對象就是在父關聯model(本文是在Products的model類)下編寫的關聯模型。下面是兩種關聯的使用時機。


has_one(或has_many):外鍵在子關聯對象中

例子:

//父關聯對象表 Products{  id  product_name } //子關聯對象表 Image{  image_id  img_name  product_id    //foreign key }
在TP5中的寫法為:
//hasOne方法的參數包括: //hasOne('關聯模型名','外鍵名','主鍵名',['模型別名定義'],'join類型'); //默認的join類型為INNER //寫在Products的model類中 public function Img(){   $this->hasOne('Image','product_id','id'); }

belongs_to:外鍵在你父聯對象中

//父關聯對象表: Product{  product_id  img_id    //foreignkey  product_name } //子關聯對象表 Image{  id        img_name }
在TP5中的寫法為:
//belongsTo方法的參數包括: //belongsTo(‘關聯模型名’,‘外鍵名’,‘關聯表主鍵名’,[‘模型別名定義’],‘join類型’); //默認的join類型為INNER //寫在Products的model類中 public function Img(){ $this->belongsTo('Image','img_id','id'); }

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享