4

Yii中$condition$paramin的使用说明findByAttributes

在大多数情况下,这就是我使用的方式findByAttributes

Person::model()->findByAttributes(array('first_name'=>$firstName,'last_name'=>$lastName));
4

2 回答 2

5

从这个线程复制http://www.yiiframework.com/forum/index.php/topic/21178-findbyattributes-example/ 解释你想要做什么以及你的错误在哪里。尝试阅读文档http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findByAttributes-detail

于 2013-06-03T11:13:34.290 回答
2

当您使用模型的属性在 Yii 的 CActiveRecord 中进行查找时,您很可能会通过某种等式查找。

Person::model()->findByAttributes(array(
  'first_name' => $firstName,
  'last_name' => $lastName,
));

在英语中,这翻译为“给我找一个姓氏为 $lastname 且名字为 $firstname 的人”。但这是一个不好的例子。考虑以下。

Person::model()->findByAttributes(array(
  'age' => 18,
));

这是一个更好的例子,用英语翻译成“把所有 18 岁的孩子都给我找来”(即“哪里” age = 18)。这可以用这样的条件重写

Person::model()->findByAttributes(array(
  'condition' => 'age = :age',
  'params' => array(
    ':age' => 18,
  ),
));

到目前为止,似乎没有什么好处。但是这样的表达式使我们能够使用更多的布尔运算符。例如...

Person::model()->findByAttributes(array(
  'condition' => 'age < :age',
  'params' => array(
    ':age' => 18,
  ),
));

...现在可以帮助我们找到所有低于特定年龄的人。

$conditions使用and查询可以随心所欲地增长$params,但使用常规方法,您只能使用赋值查询。

于 2015-08-24T15:03:40.027 回答