我使用Yii的create命令作为
$sql = "select name from users where id = 2";
$EmployeeName=Yii::app()->db->createCommand($sql)->queryAll();
现在我必须使用foreachloop来获得像
这样的特定值foreach($EmployeeName as $value)
$name = $value['name'];
我可以绕过foreach循环吗
$EmployeeName -> name; //To get value of specific field
问题是为什么我知道我有单个索引数组时使用foreach
循环?
当我使用print_r($EmployeeName)
它在对象中显示我的sql命令而不是数据时所以我很困惑如何调试对象数组
答案 0 :(得分:1)
假设id
是您的主键,您应该使用queryScalar
代替。这将返回单个值而不是数组。
$name=Yii::app()->db->createCommand($sql)->queryScalar();
答案 1 :(得分:0)
您可以在Yii中使用此语法:
$user = Users::model()->findByAttributes(array('id' => 2));
$name = $user->name;
echo $name;
答案 2 :(得分:0)
最简单的方法是通过主键(PK)查找。
假设id
模型中的Users
是PK(用户模型应通过gii model generator设置):
$name = Users::model()->findByPk(2)->name;