天天看點

yii2 查詢時使用中間表

例如我們現在有如下表:

使用者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