Yii2模型通过中间表关联

219 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Order 模型

class Order extends \yii\db\ActiveRecord
{
    public function getItems()
    {
        return $this->hasMany(Item::className(), ['id' => 'item_id'])
            ->viaTable(OrderItem::tableName(), ['order_id' => 'id']);
    }
}

OrderItem 模型是 OrderItem 的中间表

order 表的主键 idorder-itemorder_id 关联

item 表的主键 idorder-itemorder_id 关联

通过Order模型获取关联的Item表数据

$order = Order::find()->all();
$order->items->字段名(item表的字段)