Предположим, что $ model hase некоторые элементы (от одного до многих отношений), поэтому в Yii $ model-> items возвращается массив моделей элементов.
Как получить массив идентификаторов связанных элементов. Это означает, что каждый элемент возвращаемого массива является целым числом.Как получить все связанные идентификаторы модели в Yii?
1
A
ответ
3
Вы должны просто написать свою собственную функцию для этого, например.
public function getItemsIDs()
{
$ids = array();
foreach($this->items as $item)
$ids[] = $item->id;
return $ids;
}
После просто позвонить $model->itemsIDs
.
EDIT: как 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()
Это позволит получить все идентификаторы из таблицы как массив
Смежные вопросы
- 1. yii найти модели через связанные модели, используя
- 2. Как я могу получить все идентификаторы musicbrainz, связанные с художником?
- 3. Как получить связанные значения в Yii?
- 4. Yii найти все отношение модели
- 5. Yii как подсчитать связанные модели (getRelation с параметрами)?
- 6. Как получить все идентификаторы процессов?
- 7. Rails получить связанные модели
- 8. получить * связанные * связанные модели в laravel eloquent вместо необработанного SQL
- 9. Как получить все связанные модели с объекта ActiveRecord?
- 10. Получить все идентификаторы в CouchDB
- 11. jqGrid получить все идентификаторы
- 12. Laravel получить все связанные модели в одной коллекции/массиве
- 13. Как получить связанные поля модели в шаблоне
- 14. HowTo выбрать все модели, основанные на соответствующей модели в Yii
- 15. как получить все почтовые идентификаторы в WordPress
- 16. получить все связанные теги?
- 17. SQL - Как найти все связанные идентификаторы из таблицы
- 18. Laravel 5: Как получить удаленные связанные модели?
- 19. Получить все связанные записи, используя ассоциации
- 20. Laravel 5.1 Как получить все модели и связанные с ними модели, обратившись к соответствующей модели?
- 21. Cognos: Получить связанные идентификаторы как CSV в атрибуте
- 22. Удалить все связанные идентификаторы из нескольких таблиц в личинке 5.2
- 23. Django получить все связанные объекты из модели со «взаимозависимыми» таблицами
- 24. Как определить связанные модели из экземпляра модели?
- 25. получить все идентификаторы из строки
- 26. Rails: получить все связанные модели из has-many association
- 27. Как получить все CActiveRecords в yii
- 28. Получить все идентификаторы из списка
- 29. Eloquent получить все модели, связанные с моделью X
- 30. Как получить связанные модели для запуска __construct?
Это решение является штраф, за исключением того, когда нам нужно улучшить выступления, потому что она загружает соответствующие элементы в одном запросе, создать соответствующие объекты, а затем выполнить цикл foreach, чтобы получить только идентификаторы. Вот почему выполнение запроса DAO может быть лучше, если производительность важна в webapp. – darkheir
Согласен, ответьте на обновления – soju
Спасибо, мужчины, наверняка прямой запрос имеет лучшую производительность. Теперь я знаю, что для моего вопроса нет специальной функции Yii! – HPM