Я использую CodeIgniter, я возвращаю более одного значения в модели, поэтому я сделал, как
return array('true' =>1,'customer_id' => $result->customer_id);
, а в контроллере я отображаю как
$true=$result['true'];
$custId=$result['customer_id'];
Такв этом нет проблемы.
Теперь давайте поговорим подробнее
В модели у меня есть такая логика
//sql query
if ($result) {
if ($result->password_change == 0) {
return array('true' =>1,'customer_id' => $result->customer_id);//multiple returns
}
else{
return $result;
}
}
else{return false;}
В контроллере
$result=$this->Member_model->check_data(parameters);
$true=$result['true'];
$custId=$result['customer_id'];
if ($result) {
if($true == 1){
//some code here
}
else{
//some code here
}
}
else{
}
Это мой второй код.
if ($result) {
if ($result - > password_change == 0) {
if ($result - > id == $id) {
return array('true' => 1, 'customer_id' => $result - > customer_id); //return more then 2
} else {
return false;
}
} else {
if ()) // some condition
{
return (array) $result;
} else {
return false;
}
}
} else {
return false;
}
Я получаю сообщение об ошибке
"Сообщение: невозможно использовать объект типа stdClass в качестве массива"
Потому что при возврате условия if (из модели) оно работает, но когда оно возвращает другое (я имею в виду $ result из модели), я получаю сообщение об ошибке, потому что оно не получает $ result ['true'].
Надеюсь, вы понимаете мою проблему.Не могли бы вы помочь мне в этом вопросе?