假設$模型hase一些項目(一對多關係),所以在Yii $模型 - >項目返回一個項目模型數組。
如何獲取相關項目的ID數組。這意味着返回數組的每個元素都是一個整數。如何在Yii中獲取所有相關的型號ID?
1
A
回答
3
您應該爲此編寫自己的函數,例如
public function getItemsIDs()
{
$ids = array();
foreach($this->items as $item)
$ids[] = $item->id;
return $ids;
}
之後你只需撥打$model->itemsIDs
。
編輯:as darkheir在其評論中表示,您應該考慮使用DAO。
2
這裏是直接查詢,從示範運行的一個例子:
$this->getDbConnection()->createCommand("SELECT id FROM items WHERE model_id = :modelId")->bindParam(":modelId", $model->id, PDO::PARAM_STR)->queryColumn();
在結果你會得到數字陣列()從表中的值標識。
0
另一種變體。
Yii::app()->db->createCommand("SELECT id FROM items WHERE model_id=".$model->id)->queryColumn()
這將讓所有的ID從表作爲數組
相關問題
- 1. Laravel獲取所有相關型號的多個型號
- 2. 如何在Yii中獲取相關值?
- 3. 如何在Yii CDetailView中獲取相關模型的標籤?
- 4. 在保存模型之前在YII中獲取型號ID
- 5. 如何禁用從Yii中的相關模型獲取數據
- 6. 如何獲取yii中的所有CActiveRecords
- 7. 如何在Laravel中獲取所有相關項目,如「with」?
- 8. YII - 如何刪除所有表中的相關行?
- 9. 如何獲取具有相同ID的所有單選按鈕?
- 10. Laravel獲取模型中的所有相關數據
- 11. 獲取yii中的所有表名
- 12. 在django中獲取與此模型相關的所有模型(通過ForeignKey,ManyToMay)
- 13. 如何獲取所有材料的ID?
- 14. ActiveRecord的 - 獲取所有相關記錄
- 15. CoreData獲取所有相關的對象
- 16. 獲取所有型號的飛躍regsubsets
- 17. 獲取所有型號的列表
- 18. 如何在Django中獲取與用戶關聯的所有相關對象?
- 19. 獲取所有Twitter關注(id)與Groovy?
- 20. 如何獲取與模型關聯模型相關的模型?
- 21. 如何在交易Yii 1 *中獲得保存的模型ID?
- 22. 獲取MongoMapper型號的所有按鍵,包括其關聯
- 23. 如何從yii中的控制器獲取所有動作?
- 24. 如何從Jmeter中的相關ID中獲取最大值?
- 25. 獲取所有關注者在twitter中的電子郵件ID
- 26. Yii確定相關模型的存在
- 27. 如何在Yii框架中獲取表的PK ID?
- 28. 如何獲取所有進程ID?
- 29. 如何使用jQuery獲取所有ID?
- 30. 如何從JSTREE獲取所有ID
這個解決方案是好的,只是當我們需要改進的性能,因爲它會在一個查詢負載的相關項目,創建相關的對象,然後執行'foreach'循環只獲取id。這就是爲什麼執行一個DAO查詢可能會更好,如果性能是重要的web應用程序。 – darkheir
我同意,回答更新 – soju
謝謝男人,肯定直接查詢有更好的表現。現在我知道我的問題沒有特別的Yii功能! – HPM