自定义搜索需要显示基于所选名称的名称搜索结果


Customized search need to display name search result based on selected name

我在Yii中实现了我的项目。我显示了搜索结果。基于不同的表和表中不同的字段值。它显示得非常好。

我从控制器发送post值,并在视图部分显示值。它只显示id,如果我给出名称,它不显示和显示错误。我在这里添加了代码。只需检查并告诉我需要在哪里相应地更改我的代码。

<?php
if(isset($getval)){
    $as=$getval;
}else{
    $as="";
}
if(isset($course)){
    $as1=$course;
}else{
    $as1="";
}
if(isset($type)){
    $as3=$type;
}else{
    $as3="";
}
if(isset($cuisine)){
    $as4=$cuisine;
}else{
    $as4="";
}
if(isset($calorie)){
    $as5=$calorie;
}else{
    $as5="";
}
<?php
echo '<p align="center"> Showing results for&nbsp:&nbsp'.'Name'.$getval.',&nbsp'.'Course-'.$course.',&nbsp'.'Cuisine-'.$cuisine.',&nbsp'.'Type-'.$type;',&nbsp';'</p>'; 
echo ',&nbsp'.'Calories-'.$calorie;

它运行良好,只令人不快id:如果我给像这样的id关注表值名称不显示

$query=  Course::model()->find("course_id=$as1");
$course2=$query['course_name'];
$query1= Cuisine::model()->find("id=$as4");
$cuisine2=$query1['cuisinename'];
$query3= RecipeType::model()->find("id=$as3");
$type2=$query3['recipeType_name'];

请建议我合适的答案

我不确定我是否理解了你的问题,但是find方法返回了一个CActiveRecord对象,该对象具有与条件匹配的第一个值。访问列(字段)是由对象的"魔术"属性完成的。每个列都有一个属性,因此您可以通过以下方式访问"课程名称"列:

$query=  Course::model()->find("course_id=$as1");
$course2=$query->course_name;

请参阅本指南,特别是"读取记录"部分

$Criteria=new CDbCriteria;

$Criteria->compare('curse_id',$as1);

$query=课程::model()->find($Criteria);

if(!empty($query))

$course2=$query->课程名称;

$post=post::model()->find('postID=:postID',array(':postID'=>10));

http://www.yiiframework.com/doc/guide/1.1/en/database.ar