1主表从表如何区分?
看外键,外键在哪个表哪个表就是从表。
2.hasOne
主从关系表使用hasOne
category为主表,brand为从表 ,这个时候我们在Category模型层书写一对一关联的时候就要使用hasOne,方法名要使用关联模型层的名字,例如这里关联的Brand模型层的brand表,
Category模型层
<?php
namespace app\admin\model;
use think\Model;
class Category extends Model
{
protected $table = "pyg_category";
protected $pk = 'id';
function category()
{
return $this->with('brand')->select();
}
function brand()
{
return $this->hasOne('Brand','cate_id');
}
}
goods控制器
function brand() { $goods =new Brand(); $data =\collection($goods->brand())->toArray(); echo '<pre>'; print_r($data); } function category() { $goods = new Category; $data = $goods->category(); $data = \collection($data)->toArray(); echo '<pre>'; print_r($data); }
3、belongsto
从主关系表使用belongsto
<?php
namespace app\admin\model;
use think\Model;
class Brand extends Model
{
protected $table = 'pyg_brand';
protected $pk = 'id';
function brand()
{
return $this->with('category')->select();
}
function category()
{
// belongsTo参数('模型名','外键id','主键id'),参数2和参数3均为可选项,可写可不写,一般参数2会写
return $this->belongsTo('Category','cate_id');
}
}