自定义搜索需要根据所选名称显示名称搜索结果

时间:2014-04-10 10:46:04

标签: php yii

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

我从控制器发布值发送并在视图部分显示值。 它只显示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'];

请提出我合适的答案

2 个答案:

答案 0 :(得分:1)

我不确定我是否提出了您的问题,但是,find方法会返回一个CActiveRecord对象,其中第一个值与条件匹配。 访问列(字段)是由&#34; magic&#34;对象的属性。每列都有一个属性,因此您可以访问&#39; course_name&#39;以这种方式列:

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

请参阅This guide,特别是"Reading record" section

答案 1 :(得分:0)

$ Criteria = new CDbCriteria;

$基准 - &GT;比较( 'COURSE_ID',$ AS1);

$ query = Course :: model() - &gt; find($ Criteria);

如果(!空($查询))

$ course2 = $查询 - &GT; COURSE_NAME;

$ post = Post :: model() - &gt; find('postID =:postID',array(':postID'=&gt; 10));

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