Есть ли способ конвертировать ActiveRecord в массив в Yii2? Я знаю, что мы можем сделать это для ActiveQuery, например User :: find() -> asArray() -> one(); Но можем ли мы преобразовать модель в массив, когда она уже выбрана? Я хочу сделать это в функции beforeSave и сохранить этот массив в кеше. Спасибо.Yii2 - ActiveRecord to Array
11
A
ответ
28
из Yii2 Guide использования arrayHelper
$posts = Post::find()->limit(10)->all();
$data = ArrayHelper::toArray($posts, [
'app\models\Post' => [
'id',
'title',
// the key name in array result => property name
'createTime' => 'created_at',
// the key name in array result => anonymous function
'length' => function ($post) {
return strlen($post->content);
},
],
]);
21
Попробуйте это!
$model = Post::find($id)->limit(10)->asArray()->all();
$model = Post::find($id)->select('id,name as full')->asArray()->one();
$model = Post::find($id)->select('id,name as full')->asArray()->all();
$model = Post::find()->where(['slug'=>$slug])->asArray()->one();
Смежные вопросы
- 1. MySQL или Yii2 ActiveRecord
- 2. Yii2 Кэш ActiveRecord
- 3. Yii2 ActiveRecord не сохраняет?
- 4. Yii2 ActiveRecord Stat relations
- 5. yii2 ActiveRecord несколько, где
- 6. Yii2 dropdown different Activerecord
- 7. Yii2 activerecord custom attribute
- 8. Yii2 - ActiveRecord - тип литья
- 9. Yii2 ActiveRecord насмехается с mockery
- 10. Array To Array MIPS
- 11. yii2 пакетная вставка с ActiveRecord
- 12. Yii2 ActiveRecord: составное состояние IN
- 13. Yii2 Добавить атрибут модели ActiveRecord
- 14. ActiveRecord Вставка пустых полей Yii2
- 15. Yii2 GridView + фильтрация без ActiveRecord
- 16. Yii2 Query Builder с ActiveRecord
- 17. left join with ActiveRecord (yii2)
- 18. Java Array to ArrayList to Array
- 19. char array to uint8_t array
- 20. int array to string array
- 21. char array to object array
- 22. JRuby Array to Java Array
- 23. flat array to tree array
- 24. 3d Array to 2d Array
- 25. Array to Array Linear Search
- 26. char array to int array
- 27. ushort array to byte array
- 28. Push Array to Nested Array
- 29. Mysql запрос в ActiveRecord в yii2
- 30. Convert Array [Array [Double]] to Array [Double]
Тогда оцените этот ответ и отметьте как обработано – scaisEdge
Wow! Я узнал новый способ использования 'toArray', спасибо! – realtebo
Я хотел бы добавить, что ActiveRecord также имеет функцию 'toArray()', поэтому '$ model-> toArray()' также будет работать для преобразования одной модели после ее извлечения. –