1

这应该返回大约五个位置的列表。它没有返回任何错误。我已经使用 mysql 工作台测试了 sql。它返回数据就好了。现在我正在编写后端,所以我不关心使用视图或数据提供者。我只是确保我的后端功能正常工作。考虑到这一点,您将如何返回 findAllBySql 检索到的数据?

class CashLogic
{
  public function AllLocations()
    {
        $model = new Locations;
        $allLocations = $model->findAllBySql("SELECT name from locations");
        return $allLocations; 
    }  

}

class SiteController extends Controller
{
  public function actionIndex()
    {
        $model = new CashLogic;
        $data = $model->AllLocations();
        return $data;
    }
}
4

1 回答 1

1

findAllBySql()方法返回一个模型数组。从您的代码看来,您只需要namesof 位置。另一种方法是

 $AllLocations=CHtml::listData(Locations::model()->findAll(),'name','name');

这将返回一个形式为 的数组array('name'=>'name','name'=>'name')。更好的解决方案是将第一个替换为表name的主键locations

于 2013-01-15T22:50:13.940 回答