12

EmailArchive テーブル:

id email_id to from
1  101      uk  msm
2  102      uu  avc
3  101      rk  uk
4  103      xyz abc
5  104      xyz poi
6  104      abc xyz
7  101      xyz abc

Yii では、以下のコードを使用している email_id=101 のレコードが必要ですが、機能していません。

$id =101;
$criteria = new CDbCriteria();
$criteria->addCondition("email_id < :email_id");
$comments = EmailArchive::model()->findAll($criteria, array(':email_id' => $id,));
4

8 に答える 8

54

試す:

$id =101;
$comments = EmailArchive::model()->findAll(
array("condition"=>"email_id =  $id","order"=>"id"));

また

$id =101;
$criteria = new CDbCriteria();
$criteria->addCondition("email_id=:email_id");
$criteria->params = array(':email_id' => $id);
$comments = EmailArchive::model()->findAll($criteria);

また

$Criteria = new CDbCriteria();
$Criteria->condition = "email_id = $id";
$Products = Product::model()->findAll($Criteria);
于 2012-03-16T11:51:27.577 に答える
6

いくつかの代替を追加するために、次のようにすることもできます。

$id =101;
$criteria = new CDbCriteria();
$criteria->condition = "email_id =:email_id";
$criteria->params = array(':email_id' => $id);
$comments = EmailArchive::model()->findAll($criteria);
于 2012-03-20T12:43:39.853 に答える
2

yii で findall を使用して取得するもう 1 つの簡単な方法

$id =101; 
$comments = EmailArchive::model()->findAll(array("condition"=>"':email_id'=$id"));
foreach($comments as $comments_1) 
{ 
echo  "email:".$comments_1['email_id'];
}
于 2013-12-06T07:51:13.473 に答える
1

これが最も安全な方法です。

$id =101;
//$user_id=25;
$criteria=new CDbCriteria;
$criteria->condition="email_id < :email_id";
//$criteria->addCondition("user_id=:user_id");
$criteria->params=array(
  ':email_id' => $id,
  //':user_id' => $user_id,
);
$comments=EmailArchive::model()->findAll($criteria);

コメント行をコメントアウトすると、検索にさらにフィルタリングを追加する方法が得られることに注意してください。

この後、次のようなデータが返されるかどうかを確認することをお勧めします。

if (isset($comments)) { // We found some comments, we can sleep well tonight
  // do comments process or whatever
}
于 2013-02-25T15:26:40.047 に答える
0
$id = 101;

$sql = 'SELECT * FROM ur_tbl t WHERE t.email_id = '. $id;
$email = Yii::app()->db->createCommand($sql)->queryAll();

var_dump($email);
于 2012-07-25T12:08:24.913 に答える
0

$criteria を使用する場合は、打撃の使用をお勧めします。

$criteria = new CDbCriteria();
$criteria->compare('email_id', 101);
$comments = EmailArchive::model()->findAll($criteria);
于 2014-12-05T02:20:01.080 に答える