2017-02-09 6 views
0

は、だから私はBaseModelを拡張し、このクエリを実行する方法を持っているモデルクラスを記述しようとしています:BaseModelを拡張して関連配列内のデータを返す方法は?

を「fruit_name DESC BY fruits ORDER FROM fruit_idfruit_nameを選択」ここにあるコードがあります関連付けられている:

class BaseModel 
{ 
     protected static $db_conn; 

     protected static function &db() 
     { 
       if (empty(BaseModel::$db_conn)) 
       { 
         BaseModel::$db_conn = @new mysqli('localhost', 'user', 'password', 'db'); 
         if (BaseModel::$db_conn->connect_error) 
         { 
           die('Connect Error: ' . BaseModel::$db_conn->connect_error); 
         } 
     } 
     return BaseModel::$db_conn; 
     } 
} 

それでは、どのように私はBaseModelを拡張し、私は上記のSELECTクエリを実行するメソッドを持っているモデルクラスを書くのですか、とどのように私はこの方法は、連想配列usinにデータを返すことができg fruit_idをキーとして、fruit_nameを値として使用しますか?

答えて

0

は、私はあなたがこのような何かを持ってすべきだと思う:

class FruitModel extends BaseModel 
{ 
    protected $table = 'fruits'; 

    public function getAll() 
    { 
     $res = static::db()->query("SELECT fruit_id, fruit_name FROM {$this->table} ORDER BY fruit_name DESC"); 

     $res->data_seek(0); 
     $result = []; 

     while ($row = $res->fetch_assoc()) { 
      $result[$row['fruit_id']] = $row['fruit_name']; 
     } 

     return $result; 
    } 
} 
+0

私はどうもありがとうございましたこれが機能すると思います! –

関連する問題