1

假设 $model 有一些项目(一对多的关系),所以在 Yii $model->items 返回一个项目模型数组。
如何获取相关项目的 ID 数组。这意味着返回数组的每个元素都是一个整数。

4

3 回答 3

3

您应该为此编写自己的函数,例如

public function getItemsIDs()
{
  $ids = array();
  foreach($this->items as $item)
    $ids[] = $item->id;
  return $ids;
}

之后你只需要打电话$model->itemsIDs

编辑:正如darkheir在其评论中所说,您应该考虑使用DAO

于 2013-04-02T11:35:16.610 回答
2

这是直接查询的示例,从模型运行:

$this->getDbConnection()->createCommand("SELECT id FROM items WHERE model_id = :modelId")->bindParam(":modelId", $model->id, PDO::PARAM_STR)->queryColumn();

结果,您将获得带有表中 ID 作为值的数字 Array()。

于 2015-10-14T18:08:39.217 回答
0

另一种变体。

Yii::app()->db->createCommand("SELECT id FROM items WHERE model_id=".$model->id)->queryColumn()

这将从表中获取所有 ID 作为数组

于 2018-01-05T11:37:35.777 回答