Я просто пытаюсь получить штаты на основе выбора страны.Пока я пытаюсь получить состояния, я получаю следующую ошибку.
<p>Severity: Notice</p>
<p>Message: Trying to get property of non-object</p>
<p>Filename: General/Common.php</p>
<p>Line Number: 19</p>
Вот моя модель
function get_states($param_countryid)
{
$get_states = $this->db->order_by($this->state_name, 'asc')->where($this->c_id ,$param_countryid)->get($this->tbl_state)->result_array();
$states = array();
foreach ($get_states as $state_row) {
$states[$state_row[$this->state_id]] = $state_row[$this->state_name ];
}
return $states;
}
Это мой контроллер (Common.php)
$data['states'] = $this->commodel->get_states($this->input->post('country_id'));
$states = null;
foreach ( $data['states'] as $states_row ) {
$states .= "<option value='" . $states_row->id. "'>" . $states_row->name. "</option>"; Line Number 19 mentioned in the error.
}
echo $states;
Что я получаю от print_r($data['states'])
(Предположим, выбрана страна, например, Индия)
Array ( [1] => Andaman and Nicobar Islands [2] => Andhra Pradesh [3] => Arunachal Pradesh [4] => Assam [5] => Bihar [6] => Chandigarh [7] => Chhattisgarh [8] => Dadra and Nagar Haveli [9] => Daman and Diu [10] => Delhi [11] => Goa [12] => Gujarat [13] => Haryana [14] => Himachal Pradesh [15] => Jammu and Kashmir [16] => Jharkhand [17] => Karnataka [19] => Kerala [20] => Lakshadweep [21] => Madhya Pradesh [22] => Maharashtra [23] => Manipur [24] => Meghalaya [25] => Mizoram [26] => Nagaland [29] => Odisha [31] => Pondicherry [32] => Punjab [33] => Rajasthan [34] => Sikkim [35] => Tamil Nadu [36] => Telangana [37] => Tripura [38] => Uttar Pradesh [39] => Uttarakhand [41] => West Bengal )
Когда я пытался
$states .= "<option value='" . $states_row['id']. "'>" . $states_row['name']. "</option>";
Я получаю следующую ошибку.
Сообщение: недопустимое смещение строки 'id'
Сообщение: недопустимое смещение строки 'name'
Пожалуйста, сообщите мне, гдеЯ делаю свою ошибку в этом коде.