2016-08-14 71 views
2

我有products表并希望选择所有产品。 这是我做了什么empty()在cakephp中不工作

$products = $this->Products->find('all', [ 
    'conditions' => [ 
     'status' => 1 
    ] 
]); 
$this->set('products', $products); 

和打印产品,如果取出,并在没有产品检索No product found

这是我对这个

if (!empty($products)): 
    // show products 
else: 
    echo 'No Products Found'; 
endif; 

完成,但是这是行不通的,即使没有发现产品不印其他的条件。

如果条件在控制器操作中不起作用。有什么遗漏吗?

我使用CakePHP 3.2

+1

您是否尝试转储'$ products'的内容? – dlondero

+0

你是不是指'debug'?如果是的话,是的,我尝试调试,但没有产品。我甚至在从'phpmyadmin'清空表格后尝试过,即使它不起作用 – Gaurav

+2

您正在使用哪个版本的CakePHP?你不能指望得到适当的援助,除非你提供这些基本的细节.. –

回答

7

的检查内容为空或不使用功能isEmpty() CakePHP中3.0.5

if (!$products->isEmpty()) { 
    // show products 
} 
else 
    echo 'No Products Found'; 
+0

感谢它的工作原理 – Gaurav

0

试试这个..

if (!empty($products->toArray())): 
    // show products 
else: 
    echo 'No Products Found'; 
endif; 
0

如果你的cakephp是3.0.5或更高,请阅读ashkufaraz的答案,否则,您可以使用:

if(count($products) > 0) 
{ 
    //Print ya products 
} 
else 
{ 
    echo 'No products found'; 
}