Yii2 使用关联数据(Working with Relational Data)

Yii框架 · Fecmall · 于 2年前 发布 · 632 次阅读

文档地址:https://www.yiichina.com/doc/guide/2.0/db-active-record#relational-data


// manager model
class ManagerModel extends ActiveRecord
{
    public function getManagerShops()
    {
        return $this->hasMany(ManagerShopModel::className(), ['mananger_id' => 'id']);
    }
    public function getShops()
    {
        return $this->hasMany(ShopModel::className(), ['id' => 'shop_id'])
            ->via('managerShops');
    }
}

$managers = ManagerModel::find()
    ->with(['shops' => function ($query) {
        $query->andWhere(['status' => 1 ]);
    }])
    ->limit(100)
    ->all();

// 遍历
foreach ($managers as $manager)
{
    $shops = $manager->shops;
}


class ShopModel extends ActiveRecord
{
    public function getManagerShops()
    {
        return $this->hasMany(ManagerShopModel::className(), ['shop_id' => 'id']);
    }
    public function getManagers()
    {
        return $this->hasMany(ManagerModel::className(), ['id' => 'mananger_id'])
            ->via('managerShops');
    }
}

$shops = ShopModel::find()
    ->with(['managers' => function ($query) {
        $query->andWhere(['status' => 1, 'is_delete' => 1 ]);
    }])
    ->limit(100)
    ->all();

// 遍历
foreach ($shops as $shop)
{
    $managers = $shop->managers;
}


共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics