Maison >cadre php >YII >Comment convertir des objets yii en tableaux ou directement au format json

Comment convertir des objets yii en tableaux ou directement au format json

王林
王林avant
2021-01-08 10:13:533589parcourir

Comment convertir des objets yii en tableaux ou directement au format json

Comment le convertir en tableau ?

(Partage de vidéos d'apprentissage : Vidéo de programmation)

Lorsque nous utilisons l'enregistrement actif de Yii pour obtenir les résultats de la requête, l'ensemble de résultats renvoyé est un type d'objet. Si nous voulons traiter les données plus facilement, nous pouvons les convertir en tableau et les renvoyer, comme la méthode suivante :

// 查找满足指定条件的结果中的第一行
$post=Post::model()->find($condition,$params);
// 查找具有指定主键值的那一行
$post=Post::model()->findByPk($postID,$condition,$params);
// 查找具有指定属性值的行
$post=Post::model()->findByAttributes($attributes,$condition,$params);

Lorsque vous renvoyez un résultat, utilisez simplement $post->attributes;.

Et si vous souhaitez renvoyer le tableau FindAll ?

Il existe deux méthodes :

La première consiste à utiliser une fonction personnalisée, comme suit

/**
 * 简化findall数据
 * */
function simplifyData($data){
	foreach($data as $key=>$val){
		$newData[$key] = $val->attributes;
	}
	return $newData;
}

Utilisez ensuite la fonction pour convertir directement le résultat

La seconde C'est une méthode très simple :

$products = ProTuan::model()->findAll($criteria);
$products = json_decode(CJSON::encode($products),TRUE);

La fonction est d'abord de convertir le résultat findAll au format JSON, puis de le convertir en tableau

Quant à la conversion de findALL au format JOSN, vous utilisez réellement

CJSON::encode

Recommandations associées : yii framework

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer