如何在Yii中获得所有相关的模型ID?

cuxqih21  于 2022-11-09  发布在  其他
关注(0)|答案(3)|浏览(211)

假设$model有一些项目(一对多的关系),那么在Yii $model-〉items中返回一个项目模型的数组。
如何得到一个相关项的ID数组。这意味着返回数组的每个元素都是一个整数。

dz6r00yl

dz6r00yl1#

您只需为此编写自己的函数,例如:

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

之后你只需要调用$model->itemsIDs
EDIT:正如 darkheir 在其评论中所说,您应该考虑使用DAO

p5cysglq

p5cysglq2#

下面是一个直接查询的示例,从模型运行:

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

在结果中,您将获得数值Array(),其中的值为表中的ID。

c8ib6hqw

c8ib6hqw3#

另一个变种。

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

这将以数组形式从表中获取所有ID

相关问题