【发布时间】:2016-01-31 21:57:50
【问题描述】:
我管理一个联结表来处理Many to Many 关系。 items 与其units 之间的关系,其中一项可能有一个或多个单元,一个单元可能有一个或多个单元。
最后,我能够获取以下项目的所有单元数据:
$item = Items::findOne($id);
return Json::encode($item->units);
但是,返回的 JSON 对象包含当前操作的不必要字段。我只需要获取单位的title 和id,但它会返回所有单位字段。
我不知道如何从Items 模型中的关系设置中调整它。以下是Items模型中的关系声明:
public function getItemUnits()
{
return $this->hasMany(ItemUnits::className(), ['item_id' => 'id']);
}
public function getUnits()
{
return $this->hasMany(Units::className(), ['id'=> 'unit_id'])->via('itemUnits');
}
其中itemUnits 是连接模型,item_units 表。
【问题讨论】:
标签: activerecord yii2 many-to-many