>  기사  >  백엔드 개발  >  Yii는 find findAll을 사용하여 지정된 필드의 구현 방법을 찾습니다.

Yii는 find findAll을 사용하여 지정된 필드의 구현 방법을 찾습니다.

高洛峰
高洛峰원래의
2017-01-21 11:14:491508검색

이 글은 find findAll을 사용해 지정된 필드를 찾는 Yii의 구현 방법을 예시 형식으로 보여주고 있으며, 참고용으로 모두와 공유합니다. 구체적인 방법은 다음과 같습니다.

우리 모두 알고 있듯이 다음과 같은 방법이 사용됩니다.

modelName::model() -> find()    //找出的是一个对象
modelName::model() -> findALL()  //找出的是一个对象集合的数组

객체의 배열과 객체 컬렉션을 찾을 수 있으므로 어떻게 필요한 필드를 찾으려면 모든 필드의 데이터 대신 데이터는 어떻게 되나요? 이전에 했던 작업은 다음과 같습니다.

$criteria = new CDbCriteria;
$criteria->select = 'username,id,email';
$criteria->order = 'id DESC';
$users = modelName::model()->findAll( $criteria );

우연히 다른 사람이 백그라운드에서 이 내용을 쓰는 것을 보았습니다. 방법이 매우 좋습니다.

$users = modelName::model()->findAll(array(
  'select' =>array('username','id','email'),
  'order' => 'id DESC',
));

테스트 결과 작동하는 것으로 나타났으므로 find는 다음과 같은 작업도 수행할 수 있습니다.

$user = modelName::model()->find(array(
  'select' =>array('username','id','email'),
  'order' => 'id DESC',
  'condition' => 'id='.$id,
));

물론 다음 방법을 사용할 수도 있습니다.

$users = $this->user->find(array(
  'select'=>array('id','username','email'),
  'order' => 'id DESC',
  'condition' => 'state=:state AND id=:id',
  'params' => array(':state'=>'1',':id' => '2'),
));

같은 방법으로 findAll을 사용해 테스트할 수도 있습니다.

결론:

이 방법을 사용하면 필요한 데이터를 쉽게 얻을 수 있습니다. 물론 페이징이 필요한 경우에도 새 CDbCriteria가 필요합니다.

이 기사가 Yii를 사용하여 데이터베이스 프로그래밍에 도움이 되기를 바랍니다.

findAll을 사용하여 지정된 필드를 찾는 방법에 대한 Yii 관련 기사를 더 보려면 PHP 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.