1

これにより、約 5 つの場所のリストが返されます。エラーなしで何も返しません。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()メソッドは、モデルの配列を返します。あなたのコードから、namesの場所のみが必要なようです。別の方法は次のとおりです。

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

これは、フォームの配列を返しarray('name'=>'name','name'=>'name')ます。より良い解決策は、最初のものをテーブルnameの主キーに置き換えることです。locations

于 2013-01-15T22:50:13.940 に答える