Php 这个yii声明有什么问题。?

Php 这个yii声明有什么问题。?,php,yii,Php,Yii,我的控制器中有以下代码,可以从表中检索所有数据…当我使用find而不是findAll时,工作正常。。。使用findAll显示错误“数组到字符串转换”。是否有其他方法写入查询 //发布完整的控制器代码// public function actionSearch() { $model = new SearchEmployee(); /*Getting Data From Search Form For Processing */

我的控制器中有以下代码,可以从表中检索所有数据…当我使用find而不是findAll时,工作正常。。。使用findAll显示错误“数组到字符串转换”。是否有其他方法写入查询

//发布完整的控制器代码//

    public function actionSearch()
    {
         $model = new SearchEmployee();

           /*Getting Data From Search Form For Processing */
          if (isset($_POST['SearchEmployee'])) {

          $category   =  $_POST['SearchEmployee']['category_id'];
          $skills     =  $_POST['SearchEmployee']['skills'];
          $experience =  $_POST['SearchEmployee']['experience'];

         $model = SearchEmployee::model()->findAll("category_id=:category AND
             key_skills like :skill AND experience=:experience", array(
                 'category'=>$category,
                 'skill'=>'%'.$skills.'%',
                 'experience'=>$experience
             ));
          //var_dump($model);  
         $this->render('search', array('model' => $model));
       }
}
//php:这是我的视图部分,用于搜索和显示结果//

搜索员工
有没有其他方法来编写查询…它仍然在工作,因为我们使用了var_dumb来查看结果。

在视图中放置这样的逻辑不是很好,但它可能有助于调试

在视图中用这个循环替换结果部分,看看它是否是问题所在

<div class="view" id="id">
    <?php 
        if(count($model)) {
            foreach($model as $record) {
                echo "<h4>Name : " . $record->name . "</h4>";
                echo "<h4>Skills : " . $record->key_skills . "</h4>";
                echo "<h4>Category : " . $record->category . "</h4>";
                echo "<h4>Experience : " . $record->experience . "</h4>";
                echo "<h5>" . CHtml::submitButton('VIew Details') . "</h5>";
            }  
         }
     ?>
</div>
您需要了解CGridView以显示来自db或其他数组的表格信息

基于您的问题,我认为您应该使用gii工具在您的模型上生成一些crud文件。这将为您提供许多可供学习的代码示例。您可以通过取消对受保护的/config/main.php文件中的'gii'模块的注释来激活gii

然后浏览到site/index.php?r=gii的根目录


您可以在此处找到有关gii的所有信息

错误相当明确$模型是一个项目数组,但您正在使用它或它的一部分,就像字符串一样。控制器中没有突出的东西。您的搜索视图如何处理该变量?视图代码是什么样子的?我猜您是想直接在视图中访问属性,而不是通过记录集合。@Emissary,@adamS…刚刚编辑了我的问题..包含我的视图..kndly确实要看一看。使用find查找一条记录,使用findAll查找一组记录。如果你想显示一个记录列表,你的视图需要在该列表上循环…@DCoder…你能告诉我怎么写吗。你已经尝试过了。试图获取非对象的属性时显示错误。关于echo名称:$记录->名称;我编辑了它。看起来您的查询没有返回任何结果。它没有显示任何结果吗?或者你仍然得到数组到字符串的转换错误?现在它没有显示搜索屏幕…尝试获取非object属性时出错如果你有soutionn,请在这里加入我
<div class="view" id="id">
    <?php 
        if(count($model)) {
            foreach($model as $record) {
                echo "<h4>Name : " . $record->name . "</h4>";
                echo "<h4>Skills : " . $record->key_skills . "</h4>";
                echo "<h4>Category : " . $record->category . "</h4>";
                echo "<h4>Experience : " . $record->experience . "</h4>";
                echo "<h5>" . CHtml::submitButton('VIew Details') . "</h5>";
            }  
         }
     ?>
</div>