0

私の問題は、コントローラーの $name と $year で変数を呼び出す場所であることを知っています。その配列をコントローラーの変数にフォーマットする方法がわかりません。

モデル:

function getId($id)
{
    $this->db->distinct();
    $this->db->select('*');
    $this->db->where('id', $id);
    $result = $this->db->get('HWC');

    return $result->result();
}

function getVariations($name, $year)
{
    $this->db->distinct();
    $this->db->select('*');
    $this->db->where(array('ModelName' => $name, 'Year' => $year));
    $variations = $this->db->get('HWC');

    if(mysql_num_rows($variations) != 0)
    {
        return $variations->result();
    }
    else
    {

    }
}

コントローラ:

$this->load->model('testingsearch');
$data['records'] = $this->testingsearch->getId($id);

$name = $records->ModelName;
$year = $records->Year;

$data['variations'] = $this->testingsearch->getVariations($name, $year);

意見:

 foreach($variations as $row){
    echo $row['name'];
    echo $row['color'];
    echo $row['Tampo'];
 }
4

1 に答える 1

0
function getId($id)
{
    $this->db->distinct();
    $this->db->select('*');
    $this->db->where('id', $id);
    $result = $this->db->get('HWC');
    return $result->result();
}

You are returning object with result() but displaying as array

foreach($variations as $row){
    echo $row['name'];
    echo $row['color'];
    echo $row['Tampo'];
}

このように変更します

return $result->result_array();

これでビューは正常に動作します。そしてコントローラーでは、ここで間違いを犯しています

$data['records'] = $this->testingsearch->getId($id);

に変更します

$records    =   $this->testingsearch->getId($id);

そして今、これらの指示はうまくいくはずですが、条件があります

if($records){
    $name = $records->ModelName;
    $year = $records->Year;

    $data['variations'] = $this->testingsearch->getVariations($name, $year);
}
于 2013-04-22T09:12:23.893 に答える