PHP开发实例大全(提高卷) 中文完整pdf扫描版[244MB]
public array findAll(mixed $condition='', array $params=array ( )) |
||
$condition | mixed | 查询条件或标准。 |
$params | array | 要绑定到的 SQL 语句的参数。 |
{return} | array | 满足指定条件的活动记录列表,如果没有找到将返回一个空的数组。 |
源码: framework/db/ar/CActiveRecord.php#1402
public function findAll($condition='',$params=array())
{
Yii::trace(get_class($this).'.findAll()','system.db.ar.CActiveRecord');
$criteria=$this->getCommandBuilder()->createCriteria($condition,$params);
return $this->query($criteria,true);
}
查找满足指定条件的所有活动记录。参见find()详细说明关于$condition和$params。
可以看出第一个参数并不是必须的,此时可以直接传递进去一个CDbCriteria或array('id' => 'your value');即可
findByAttributes() 方法
public CActiveRecord findByAttributes(array $attributes, mixed $condition='', array $params=array ( )) |
||
$attributes | array | 列表中的属性值(属性名索引)活动记录相匹配。属性值可以是一个数组将被用来生成一个条件。 |
$condition | mixed | 查询条件(即SQL语句)或标准(即CDbCriteria)。 |
$params | array | 要绑定到的 SQL 语句的参数。(只有在第二个参数是SQL语句的形式的时候才会用到这个参数) |
{return} | CActiveRecord | 找到的记录。如果没找到任何记录,则为 null。 |
源码: framework/db/ar/CActiveRecord.php#1450
public function findByAttributes($attributes,$condition='',$params=array())
{
Yii::trace(get_class($this).'.findByAttributes()','system.db.ar.CActiveRecord');
$prefix=$this->getTableAlias(true).'.';
$criteria=$this->getCommandBuilder()->createColumnCriteria($this->getTableSchema(),$attributes,$condition,$params,$prefix);
return $this->query($criteria);
}
查找具有指定属性值的单个活动记录。参见find()详细说明关于$condition和$params。
可以看出第一个参数是必须的
1. 此时必须传入一个有关属性的array,如:array('id' => 'your value');第二个参数可以是CDbCriteria等
2. 也可以给第一个参数传入一个空的数组,如:array(); 然后在第二个参数中包含必要的条件
deleteAllByAttributes()方法
public integer deleteAllByAttributes(array $attributes, mixed $condition='', array $params=array ( )) |
||
$attributes | array | 列表中的属性值(属性名索引)活动记录相匹配。属性值可以是一个数组,用于生成的条件。 |
$condition | mixed | 查询条件或标准。 |
$params | array | 要绑定到的 SQL 语句的参数 |
{return} | integer | 执行影响的行数。 |
源码: framework/db/ar/CActiveRecord.php#1763
public function deleteAllByAttributes($attributes,$condition='',$params=array())
{
Yii::trace(get_class($this).'.deleteAllByAttributes()','system.db.ar.CActiveRecord');
$builder=$this->getCommandBuilder();
$table=$this->getTableSchema();
$criteria=$builder->createColumnCriteria($table,$attributes,$condition,$params);
$command=$builder->createDeleteCommand($table,$criteria);
return $command->execute();
}
删除指定的属性值相匹配的行。参见find()详细说明关于$condition和$params。
这个和findByAttributes的用法一样
转载请注明:谷谷点程序 » Yii函数使用:findAll , findByAttributes和deleteAllByAttributes