0

私はyiiが初めてです。私の問題は、$hometeamid詳細を表示するために必要なすべての ID を含む配列があることです。どうすればデータを取得できますか。誰か助けて
ください
$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>

しかし、動作しません。空白のフィールドが表示されています。

4

4 に答える 4

0

最初に、配列をコンマ区切りの文字列に処理します。これは、SQLクエリで条件値として使用されます

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

次に、その文字列INをSQLクエリの句内に配置します。

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

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

メソッドの実行後queryAll、関連する行を結果の配列として受け取ります

于 2014-06-05T12:45:21.153 に答える
0

addInCriteria を 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();
于 2014-06-05T18:30:35.380 に答える
0

IDをデータベースの主キーとして設定する場合は、findByAttributesを使用しないでください。

例:

$mod = Event::model()->findbyPk($no);
于 2014-06-05T14:47:39.380 に答える