2009-05-09 6 views
0

J'ai une base de données avec une table nommée shoppingcarts. ce tableau a les 3 colonnes suivantes:Kohana Question PHP

id, sessionid, date 

J'ai une fonction (AddProductToCart) dans mon contrôleur (ShoppingCart). Dans ma fonction, j'ai cet appel:

$obj = ORM::factory('shoppingcart')->where('sessionID',session_id())->find(); 

Maintenant, cette déclaration va à l'encontre de la table shoppingcarts et retourne une ligne qui a le sessionid correspondant à l'identifiant de session courant (PHP de session_id()). Mais parfois, le sessionid n'existe pas dans la table. Alors, comment vérifier la valeur retournée par cette instruction pour m'assurer qu'une valeur a été retournée ou non?

Je suis confus.

Répondre

4

Vous recherchez la propriété 'chargée'. Docs

Il ressemblerait à quelque chose comme ceci:

$obj = ORM::factory('shoppingcart')->where('sessionID',session_id())->find(); 

if($obj->loaded == TRUE) 
{ 
    // user has a shopping cart 
} 
else 
{ 
    // no shopping cart found 
} 
+0

Ambirex, merci pour la réponse. Je cherchais cette propriété depuis si longtemps. J'ai même été tenté par l'idée de parcourir toutes les lignes de la table et de les comparer avec la valeur retournée par session_id(), puis de définir un indicateur booléen sur true si l'attribut session_id() existait déjà. Vous avez sauvé ma journée! – Attilah