문제

새로운 yii.나의 문제,나열 $hometeamid 을 포함하는 모든 id 는 필요를 세부 정보를 표시할 수 있습니다.어떻게 받을 수 있는 데이터입니다.plz 누군가가 나에게 도움

$mod = Yii::app()->db->createCommand('SELECT * FROM event WHERE id = 1432201 or id = 1432208')->queryAll();

 $no=1432201;
 $mod = Event::model()->findByAttributes(array('id' => $no));<br>

그러나 작동하지 않습니다.빈 필드를 보이고 있습니다.

도움이 되었습니까?

해결책

최 할 addInCriteria wiith CDbCriteria 또는 간단한 createCommand 처럼,하지만 전에 하는 것을 확인하시기 바랍에 대한 쿼리 phpmyadmin/navicate/mysql 작업대 등입니다.수동으로(그것은 결과를 반환 또는지?)

$homeTeamIds=['1','2','3','4'];
$criteria = new CDbCriteria;
$criteria->addInCondition('id',$homeTeamIds,'OR'); //matching any of your homeTeadIds 
$result = Event::model()->findAll($criteria);

$ids = implode(', ', $homeTeamIds);
$sql = "SELECT * FROM event WHERE id IN ($ids)"   // like where id IN(1,2,3,4)
$result = Yii::app()->db->createCommand($sql)->queryAll();

다른 팁

사용하지 말라 findByAttributes 설정하는 경우 id 를 기본 키의 db.

예제:

$mod = Event::model()->findbyPk($no);

당신이 사용할 수 있는 CDbCriteriako addInCondition() 는 방법을 찾 모든 행 값이 일치하는 항목에서 배열,예를 들어 다음과 같이 작업(테스트):

$hometeamid = array(
    '1432201',
    '1432208',
    // ... etc... all the id's you want to show
);
$criteria = new CDbCriteria;
$criteria->addInCondition('id',$hometeamid,'OR');
$mod = Event::model()->findAll($criteria);

심지어는 예를 사용하여 addInCondition 에서 최고의 CDbCriteria 페이지 참조: http://www.yiiframework.com/doc/api/1.1/CDbCriteria

첫번째 프로세스의 배열을 쉼표로 구분된 문자열로 사용되는 조건 값에 sql 쿼리

$idString = implode(', ', $hometeamid);

다음 장소는 내부 문자열 IN 절에서 sql 쿼리가 있습니다.

$sql = "SELECT *
           FROM event
         WHERE id IN ($idString)"

$mod = Yii::app()->db->createCommand($sql)->queryAll();

후 실행 queryAll 방법을받을 것이다 관련 행 결과 배열

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top