4

在我的控制器中

$agent = University::model()->findByPK($university_id);

我希望它会返回一行值的值。我想要一个属性(field3)值university_name,(不使用 findByPK),如何获取它

SELECT  field3 FROM table [WHERE Clause]
4

6 回答 6

11

试试这个

$usercriteria = new CDbCriteria();
$usercriteria->select = "university_name";
$usercriteria->condition = "university_id=$university_id";
$university = University::model()->findAll($usercriteria);

echo $university->university_name;

或者只是像你一样做

$agent = University::model()->findByPK($university_id);
echo $agent-> university_name;
于 2013-06-14T07:40:58.147 回答
5
$agent = University::model()->findByPK($university_id);
echo $agent->university_name;
于 2013-06-14T07:42:54.287 回答
3

它应该是这样的:

$agent = University::model()->findByPK($university_id)->university_name;
于 2014-04-24T00:29:13.047 回答
1

试试这个:

$university_name = University::model()->findByPK($university_id, array('select'=>'univeersity_name'))->university_name;
#Query: SElECT university_name FROM table_name where id=x;

代替

$university_name = University::model()->findByPK($university_id)->university_name;
#Query: SElECT * FROM table_name where id=x;

第二个查询返回所有字段。所以最好避免这些字段是没有必要的。

于 2019-01-05T20:13:01.673 回答
0

如果你需要查看 yii _views,我已经在我的项目中实现了这个,我把它放在我的 '_view.php' 中 /protected/views/myTable/

$agent = University::model()->findByPK($data->id_university/*this is the PK field name*/);
echo $agent->university_name /*university field name*/;

再次抱歉我的英语不好:o

于 2014-02-09T07:26:18.017 回答
0

可以这样做:

$agent = University::model()->findAllByAttributes(array('field3'),"WHERE `id` = :id", array(':id' => $university_id));

findByAttributes 的第一个参数是您希望它返回的属性数组。如果留空,则返回所有 (*)。

于 2016-02-10T17:08:57.410 回答