假设$ model有一些项目(一对多关系),所以在Yii $ model-> items中返回一个项目模型数组。
如何获得相关项目的ID数组。这意味着返回数组的每个元素都是一个整数。
答案 0 :(得分:3)
你应该为此编写自己的函数,例如:
public function getItemsIDs()
{
$ids = array();
foreach($this->items as $item)
$ids[] = $item->id;
return $ids;
}
您必须致电$model->itemsIDs
。
编辑:正如 darkheir 在评论中所说,你应该考虑使用DAO。
答案 1 :(得分:2)
以下是从Model:
运行的直接查询示例$this->getDbConnection()->createCommand("SELECT id FROM items WHERE model_id = :modelId")->bindParam(":modelId", $model->id, PDO::PARAM_STR)->queryColumn();
在结果中,您将获得数值Array(),其中包含表中的ID作为值。
答案 2 :(得分:0)
另一种变体。
Yii::app()->db->createCommand("SELECT id FROM items WHERE model_id=".$model->id)->queryColumn()
这将从表中获取所有ID作为数组