如何像数组一样获得Yii2中的所有ActiveRecord对象,它可以由foreach()
迭代。
这是应该工作的代码,但它返回零而不是实际数据。
public function getAllCategories(){
$categoriesList=[];
$categories= Category::find()->orderBy("id")->all();
foreach ($categories as $category){
$categoriesList[]+=$category->title;
}
return $categoriesList;
}
如果您正在获取对象,您仍然可以对它们进行迭代。尝试进行以下简单的更改(查看"+="更改为"0"):
public function getAllCategories(){
$categoriesList = array();
$categories = Category::find()->orderBy("id")->all();
foreach ($categories as $category){
$categoriesList[] = $category->title;
}
return $categoriesList;
}
以下是Yii2:link中活动记录的一些参考。使用find()->all()
,您将获得一个包含对象的数组。
您的php语法有错误-您使用的是+=,无法添加字符串,您应该使用just=或.=