我在Yii实施了我的项目。我做了搜索部分工作正常。但我想要提前搜索。我得到的所有值除了表中的一个字段。请建议我需要改变的地方。我在这里添加了我的代码。
我的控制器部分:
public function actionAdvancesearch()
{
if(isset($_POST['Recipe']))
$as=$_POST['Recipe']['recipe_name'];
//var_dump($as);
$model=new Recipe;
if(isset($_POST['Recipe']))
{
$name=$_POST['Recipe']['recipe_name'];
$course=$_POST['Recipe']['course_id'];
$cuisine=$_POST['Recipe']['cuisinename'];
$type=$_POST['Recipe']['type'];
$calorie=$_POST['Recipe']['calorie_count'];
$this->redirect(array('advancesearch1','course'=>$course,'cuisine'=>$cuisine,'name'=>$name,'calorie'=>$calorie,'type'=>$type));
}
$this->render('advancesearch',array('model'=>$model
));
}
public function actionAdvancesearch1()
{
$model=new Recipe;
$name1=$_GET['name'];
$course1=$_GET['course'];
$cuisine1=$_GET['cuisine'];
$type1=$_GET['type'];
$calorie1=$_GET['calorie'];
$model->unsetAttributes(); // clear any default values
if(isset($_GET['Recipe']))
$model->attributes=$_GET['Recipe'];
$this->render('advancesearch1',array( 'course1'=>$course1,'cuisine1'=>$cuisine1,
'name1'=>$name1, 'type1'=>$type1,
'calorie1'=>$calorie1
));
}
我的视图部分只是打印值,但名称字段只显示空值..
我还添加了我的网址值
http://localhost/kitchenking/index.php/recipe/advancesearch1/course/3/cuisine/3/name//calorie/1/type/1
上面的URL名称值为空..不从表中获取。并且还尝试了var_dump()..其中也说该名称返回NULL值..
答案 0 :(得分:2)
public function actionAdvancesearch1() {
$model=new Recipe('search');
$model->unsetAttributes();
// do stuff here
$this->render('advancesearch1', etc....
}
使用搜索时不要忘记unsetAttributes
答案 1 :(得分:0)
要搜索您的模型,您需要使用“搜索”方案
变化
public function actionAdvancesearch1()
{
$model=new Recipe;
到
public function actionAdvancesearch1()
{
$model=new Recipe('search') ;