例如我们现在有如下表:
用户user表;
服务service表;
中间表user_service表;
其中,中间表的字段user_id和service_id一一对应,想要查询每个用户对应的服务,这里使用到的是vaitable方法,代码如下:
class xx
{
public function getService()
{
return $this->hasMany(Service::className(), ['id' => 'service_id'])
->viaTable('{{%user_service}}', ['user_id' => 'id']);
}
.....其他代码
public function Search()
{
.....其他代码
{
$query->andFilterWhere([
'{{%user_service}}.service_id' => $this->service]);
}
}
}
更多文章请到 http://skyline-traveler.com