empty() 在 cakephp 中不起作用

empty() not working in cakephp

我有 products table 并且想要 select 所有产品。 这就是我所做的

$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

要检查内容是否为空,请使用 CakePHP 3.0.5 中的函数 isEmpty()

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

试试这个..

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

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

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