2014-02-19 74 views
-1

我需要的結果過濾到一個數組,但我得到以下通知cakephp的發現列表陣列條件

通知(8):Array對字符串的轉換[APP /型號/ user.php的,線路199] 通知(8):未定義的變量:數組[APP /型號/ user.php的,線路199]

$hotelsId = ClassRegistry::init('HotelUser')->find('all',array('fields'=>array('hotel_id'),'conditions'=>array('user_id'=>$userId))); 
     $ids = array(); 
     foreach ($hotelsId as $hotel) { 
      $ids[] = $hotel['HotelUser']['hotel_id']; 
     } 
     $hotels = ClassRegistry::init('Hotel')->find('list',array('conditions'=>array('IN'=>array('Hotel.id'=>$ids)))); 
+1

請勿使用「IN」。只需傳遞數組,就好像它只是一個單一的ID。 Cake會神奇地添加'IN'語句 – Eagle

+0

在發佈通知和錯誤時,請指出您的代碼的哪一行對應於錯誤。在這段代碼中,我假設199行是'foreach()'行。那是對的嗎? –

+0

感謝鷹和喬治,刪除'在',它的工作。 – Hernandez91

回答

0
$hotelsId = ClassRegistry::init('HotelUser')->find('list',array(
            'fields'=>array('hotel_id'), 
            'conditions'=>array('user_id'=>$userId))); 
    $hotels = ClassRegistry::init('Hotel')->find('list',array(
            'conditions'=>array('Hotel.id'=>$hotelsId))); 

希望這將幫助!