我正在获取最新记录,因此我可以将其保存到路径中。
$currentid = Yii::app()->db->createCommand("select id from content where id = (select max(id) from content)")->queryRow();
Yii::app()->session['announcement_message'] = 'You have successfully created an announcement.';
$url = Yii::app()->createAbsoluteUrl('announcement/view/id/'. $currentid);
$this->emailAll($url);
这会传递到我的电子邮件功能:
public function emailAll($url)
{
$this->set_mail_settings();
$message = new YiiMailMessage;
$emails = Yii::app()->db->createCommand("SELECT group_concat(email) as em FROM persons WHERE party_id != 184")->queryRow();
$email_ids = explode(",",$emails["em"]);
$message->setBcc($email_ids);
$message->setBody('To view, click here: '.$url);
$message->subject = 'New Announcement Posted!';
$message->addTo('no-one@nowhere.com');
$message->from = Yii::app()->params['adminEmail'];
Yii::app()->mail->send($message);
}
但是当我收到电子邮件链接时,它没有给我最后一条记录的id#,而是给了我“数组”
通知/视图/ ID /阵列。
我需要它是确切的身份证号码。
答案 0 :(得分:1)
试试这个。 Queryrow
始终返回数组。所以你必须使用如下。
$url = Yii::app()->createAbsoluteUrl('announcement/view/id/'. $currentid["id"]);
答案 1 :(得分:0)
如果您只需要第一行的第一个值,那么只需使用“->queryScalar()
”。少麻烦:))
答案 2 :(得分:0)
您可以订购您的sql语句,然后选择1.它应该比执行子查询更快。
$currentid = Yii::app()->db
->createCommand("select id from content ORDER BY id DESC LIMIT 1")
->queryRow();