表一:
ar_codes
----------
ar_id (primary key),
act_id,
ar_code,
status
表二:
act_req_recv
----------
rcv_id (primary key),
act_id,
rcv_person,
status
现在我需要从表中查找ar_codes表的ar_code
字段值,以获取act_req_recv表的rcv_person
字段。这两个表都有一个公共字段,该字段act_id
,并且不是两个表的主键。
现在我可以通过普通的 mysql 脚本式波纹管命令找到它,其中$actId携带值。如何在 Yii 中找到这个值?
SELECT ar_code FROM ar_codes WHERE act_id=$actId
我试图通过来自模型的函数调用来找到它。但是由于该字段不是PK,因此结果不会到来。
public static function getAR_code($actId) {
$ActCode = Yii::app()->db->createCommand()
->select('ar_code')
->from('{{ar_codes}}')
->where('act_id=' . (int) $actId)
->queryAll();
return $ActCode;
}
函数运行时收到此错误:
[错误] [php] 数组到字符串的转换 (D:\Xampp\htdocs\framework\yii1.1.19\zii\widgets\CDetailView.php:240(
详细视图代码为:
array(
'name' => 'actId',
'type'=> 'raw',
'value' => ActivityRecord::getAR_code($model->actId),
'htmlOptions' => array('style' => "text-align:left;"),
),
>queryAll()
返回行数组,因此它实际上是数组数组。像这样:
[
['ar_code' => 123],
]
如果要查询单个值(例如123
(,则应使用queryScalar()
- 它将从第一行的第一列返回值:
public static function getAR_code($actId) {
return Yii::app()->db->createCommand()
->select('ar_code')
->from('{{ar_codes}}')
->where('act_id=' . (int) $actId)
->queryScalar();
}