2009-05-09 3 views
0

У меня есть база данных с таблицей shoppingcarts. эта таблица имеет следующие 3 колонки:Kohana PHP question

id, sessionid, date 

У меня есть функция (AddProductToCart) в мой контроллер (ShoppingCart). Внутри моей функции, у меня есть этот вызов:

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

Теперь это утверждение работает против shoppingcarts таблицы и возвращает строку, которая имеет sessionid соответствующий текущий идентификатор сессии (РНР session_id()). Но иногда, sessionid не существует в таблице.

Итак, как я могу проверить значение, возвращаемое этим оператором, чтобы убедиться, что значение было возвращено или нет?

Я смущен.

ответ

4

Вы ищете недвижимость, загруженную. Docs

Это будет выглядеть примерно так:

$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, спасибо за ответ. Я так долго искал эту собственность. меня даже соблазнила идея повторить все строки в таблице и сравнить их с возвращаемым значением session_id(), а затем установить для булевского флага значение true, если session_id() уже существует. Вы спасли мой день! – Attilah