下面由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