empty()在cakephp中不起作用

时间:2016-08-14 07:50:24

标签: cakephp is-empty cakephp-3.2

我有products表,想要选择所有产品。 这就是我所做的

$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

3 个答案:

答案 0 :(得分:7)

用于检查内容为null或不使用CakePHP 3.0.5中的函数isEmpty()

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

答案 1 :(得分:0)

试试这个..

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

答案 2 :(得分:0)

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

myweighted.mean <- function(x)
    c(NA, cumweighted.mean(head(x, -1), head(seq_along(x), - 1)))