1

私は zend フレームワークが初めてで、これが初心者レベルの質問であることを知っています。しかし、私は完全にめちゃくちゃです。

の降順でデータベースのみを取得してフォームを作成user_idしたい。user_nameuser_id

テーブルゲートウェイを使用しています。

getUsersTable() 関数を次のように呼び出しています

$result = $this->getUsersTable()->select();

getUsersTable() 関数は

 public function getUsersTable()
    {
     if(!$this->usersTable)
     {

      $this->usersTable = new TableGateway('eo_user',$this->getServiceLocator()->get('Zend\Db\Adapter\Adapter')
      );
     }   
     return $this->usersTable;

    }

同様の問題を検索しましたが、tablegateway に関連する解決策が見つかりませんでした。

どのような変更を行う必要がありますか?助けてください。

4

1 に答える 1

1

getUsersTable()関数が質問に記載されている方法でコントローラーに記述されている場合は、これを試すことができます-

  1. この use ステートメントをコントローラーの先頭に追加します -

    Zend\Db\Sql\Select を使用します。

  2. これをあなたの行動に書いてください -

    $select = new Select('eo_user'); $select->columns(array('user_id', 'user_name')); $select->order('user_id DESC');

    $result = $this->getUsersTable()->selectWith($select);

注:getUsersTable()実際に TableGateway オブジェクトを返す場合、上記のコードは正常に機能します。

「アルバム」チュートリアルのように Model-Table クラス ファイルを作成した場合は、次の行を変更するだけです。

$result = $this->getUsersTable()->selectWith($select); 

$result = $this->tablegateway->selectWith($select);
//This is to be written in that Table Class file.

誰かの役に立てば幸いです。

于 2014-08-26T09:35:33.197 に答える