原理:https://www.kancloud.cn/laowu199/e_dev/448632
hasOne:有一个,加上主谓语应该是 ,A 有一个 B
hasMany:有很多,A 有很多 B
belongsTo:属于, A 属于 B
数据表
model
<?php namespace app\common\model; use think\facade\Log; use think\Model; class Category extends Model { protected $table ='category'; protected $pk = 'id'; public function product(){ return $this->hasMany("app\common\model\ProductModel",'category_id','id'); } }
<?php namespace app\common\model; use think\Model; class ProductModel extends Model { protected $table = 'product'; protected $pk = 'id'; public function category(){ return $this->belongsTo('app\common\model\CategoryModel','category_id','id'); } public function getProductByCategory($categoryId = 0){ return $this->where('id',$categoryId)->select(); } }
调用
$productModel = new ProductModel(); $product = $productModel::find(5); //注意关联查询只能单条数据查询 $category= $product->category; dump($product);
belongsto输出