假设$model有一些项目(一对多的关系),那么在Yii $model-〉items中返回一个项目模型的数组。如何得到一个相关项的ID数组。这意味着返回数组的每个元素都是一个整数。
dz6r00yl1#
您只需为此编写自己的函数,例如:
public function getItemsIDs(){ $ids = array(); foreach($this->items as $item) $ids[] = $item->id; return $ids;}
public function getItemsIDs()
{
$ids = array();
foreach($this->items as $item)
$ids[] = $item->id;
return $ids;
}
之后你只需要调用$model->itemsIDs。EDIT:正如 darkheir 在其评论中所说,您应该考虑使用DAO。
$model->itemsIDs
p5cysglq2#
下面是一个直接查询的示例,从模型运行:
$this->getDbConnection()->createCommand("SELECT id FROM items WHERE model_id = :modelId")->bindParam(":modelId", $model->id, PDO::PARAM_STR)->queryColumn();
在结果中,您将获得数值Array(),其中的值为表中的ID。
c8ib6hqw3#
另一个变种。
Yii::app()->db->createCommand("SELECT id FROM items WHERE model_id=".$model->id)->queryColumn()
这将以数组形式从表中获取所有ID
3条答案
按热度按时间dz6r00yl1#
您只需为此编写自己的函数,例如:
之后你只需要调用
$model->itemsIDs
。EDIT:正如 darkheir 在其评论中所说,您应该考虑使用DAO。
p5cysglq2#
下面是一个直接查询的示例,从模型运行:
在结果中,您将获得数值Array(),其中的值为表中的ID。
c8ib6hqw3#
另一个变种。
这将以数组形式从表中获取所有ID