1

モデル機能

public function getUserByID($id) 
    {
        $q = $this->db->get_where('users', array('id' => $id), 1);
        $user= $q->result();
        if($user) {
        return $user;
        } else {
        return false;
        }
    }

コントローラコード

$data['user'] = $this->users_model->getUserByID($id);

ファイルコードを表示

<pre><?php print_r($user); ?></pre>

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => Saleem
            [city] => Kuala Lumput
            [state] => WP
            [postal_code] => 58100
            [country] => Malaysia
            [phone] => 0123456789

        )
)

以下のような結果を得るにはどうすればよいですか。

Array
(
            [id] => 1
            [name] => Saleem
            [city] => Kuala Lumput
            [state] => WP
            [postal_code] => 58100
            [country] => Malaysia
            [phone] => 0123456789
)

今のところ、$ user['0']->nameとして使用する必要があります。$user->nameとして使用したい; 私を助けてください

4

5 に答える 5

2

関数getUserByIDが最初のユーザーを返すようにします

問題を解決するはずです

    public function getUserByID($id) 
    {
        $q = $this->db->get_where('users', array('id' => $id), 1);
        $user= $q->result();
        if(count($user) == 1) {
        return $user[0];
        } else {
        return false;
        }
    }
于 2012-09-25T04:01:08.570 に答える
2

で試してみてください

$data['user'][0] = $this->users_model->getUserByID($id);

コントローラ自体から直接取得できます

またはモデルからあなたは次のように通過することができます

public function getUserByID($id) 
{
    $q = $this->db->get_where('users', array('id' => $id), 1);
    $user= $q->result();
    if(count($user) == 1) {
    return $user[0];
    } else {
    return false;
    }
}
于 2012-09-25T04:01:34.683 に答える
2

CIでこれを行う正しい方法は、次の$result->row()方法を使用することです。

public function getUserByID($id) 
{ 
  $q = $this->db->get_where('users', array('id' => $id), 1); 
  if( $q->num_rows() > 0 )
  {
    return $q->row();
  }

  return FALSE;
}
于 2012-09-25T05:02:47.880 に答える
1

コントローラー

$data['user'] = $this->users_model->getUserByID($id);
foreach($data['user'] as $user)
{
$result = $user;
}
print_r($result);

あなたに与える

Array
(
        [id] => 1
        [name] => Saleem
        [city] => Kuala Lumput
        [state] => WP
        [postal_code] => 58100
        [country] => Malaysia
        [phone] => 0123456789
 )

編集:

または、モデルでこれを行うことができます

public function getUserByID($id) 
{
    $q = $this->db->get_where('users', array('id' => $id), 1);
    $user= $q->result();
    if(count($user) > 0) 
    {
      foreach($user as $out)
      {
       $blah = $out;
      }
    return $blah;
    } 
    else
    {
    return false;
    }
}
于 2012-09-25T04:20:43.993 に答える
0

モデル関数を変更して、次のようにします

public function getUserByID($id) 
{
    $q = $this->db->get_where('users', array('id' => $id), 1);
    $user= $q->result_array();
    if($user) {
    return $user;
    } else {
    return false;
    }
}
于 2012-09-25T15:40:02.473 に答える