1, 定义一对多关联hasMany()
例如: category 模型中 关联article模型
//分类关联文章一对多
public function article() {
return $this->hasMany('Article', 'categoryid', 'categoryid')->field('id,title_name,status');
}
2, 关联查找
a/ 获取关联模型(article)中的所有信息
$data = Category::get(1)->article;
b/ 根据条件搜索关联模型(article)中的所有信息
$data = Category::get(1)->article()->where('status', 1)->select();
c/ 根据关联条件查询
//获取文章数超过2篇的分类
$data = Category::has( 'article','>',2)->select();
//查询文章状态为0的 分类(全部信息)
$data = Category::hasWhere('article', ['status'=>0])->select();
//查询文章状态为0的 分类(部分信息)
$data = Category::hasWhere('article', ['status'=>0], 'categoryid,category_name')->select();
3, 相对关联
例如: Article 模型中 关联category 模型
//相对关联
public function categorys() {
return $this->belongsTo( 'category', 'categoryid', 'categoryid');
}
根据文章获取分类模型的信息:
$data = Article::get(1)->categorys;