<?php
namespace app\system\model;
use app\common\model\Base;
class School extends Base
{
public function dwTeacher()
{
return $this->hasMany('\app\renshi\model\Teacher','danwei','id');
}
public function dwXingzhi()
{
return $this->belongsTo('\app\system\model\Category','xingzhi','id');
}
public function dwJibie()
{
return $this->belongsTo('\app\system\model\Category','jibie','id');
}
public function dwXueduan()
{
return $this->belongsTo('\app\system\model\Category','xueduan','id');
}
public function search($search)
{
$xingzhi = $search['xingzhi'];
$order_field = $search['order_field'];
$order = $search['order'];
$search = $search['search'];
$data = $this->order([$order_field =>$order])
->when(strlen($xingzhi)>0,function($query) use($xingzhi){
$query->where('xingzhi','in',$xingzhi);
})
->when(strlen($search)>0,function($query) use($search){
$query->where('title|jiancheng','like',$search);
})
->with(
[
'dwXingzhi'=>function($query){
$query->field('id,title');
},
'dwJibie'=>function($query){
$query->field('id,title');
},
'dwXueduan'=>function($query){
$query->field('id,title');
},
]
)
->withCount(
[
'dwTeacher'=>function($query){
$query->where('status',1);
}
]
)
->select();
return $data;
}
public function searchAll()
{
return $this->cache('key',180)->select();
}
}