在查閱了相關Tp5開發文檔和相關博客後,總結出關於belongsTo和hasOne的區別,主要是看你是在哪個model(模型)中編寫這個關聯關係,父關聯對象就是在父關聯model(本文是在Products的model類)下編寫的關聯模型。下面是兩種關聯的使用時機。php
例子:this
//父關聯對象表 Products{ id product_name } //子關聯對象表 Image{ image_id img_name product_id //foreign key }
//hasOne方法的參數包括: //hasOne('關聯模型名','外鍵名','主鍵名',['模型別名定義'],'join類型'); //默認的join類型爲INNER //寫在Products的model類中 public function Img(){ $this->hasOne('Image','product_id','id'); }
//父關聯對象表: Product{ product_id img_id //foreignkey product_name } //子關聯對象表 Image{ id img_name }
//belongsTo方法的參數包括: //belongsTo(‘關聯模型名’,‘外鍵名’,‘關聯表主鍵名’,[‘模型別名定義’],‘join類型’); //默認的join類型爲INNER //寫在Products的model類中 public function Img(){ $this->belongsTo('Image','img_id','id'); }