我的型号名称是销售。
$allSales = Sales::model()->findAll();
$ allSales不返回任何内容(空白)。但它使用我的本地计算机(Ubuntu)和不能在实时服务器上运行(Mac)。
$allSales2 = Sales::model()->findAll("id < 2000");
$ allSales2正在两台服务器上运行
请帮帮我。提前谢谢。
答案 0 :(得分:1)
(空白)含糊不清,但如果页面本身在加载时为空白,则可能会出现内存不足错误。这很常见,一次查询大量活动记录。检查php_error.log文件以及每台服务器上php.ini中的相应内存限制。
您还可以尝试使用CDataProviderIterator来获取所有模型,而不是findAll()
。
$dataProvider = new CActiveDataProvider('Sales');
$allSales = new CDataProviderIterator($dataProvider);
foreach ($allSales as $model) {
//do whatever
}
如果您的问题是内存问题,那么应该解决它。
如果没有,请将var_dump($allSales);
添加到原始代码中,并从实时服务器报告结果。
答案 1 :(得分:0)
您需要将条件作为数组传递。试试这个
$allSales2 = Sales::model()->findAll(
array(
"condition" => "id < 2000"
)
);
如果您不想在findAll中使用数组,那么可以使用CDbCriteria,如下所示
$criteria = new CDbCriteria;
$criteria->select = '*';
$criteria->condition = 'id < 2000';
$allSales2 = Sales::model()->findAll($criteria);