我正在尝试将数据从我的模型传递到控制器,并从我的控制器传递到JSON查看。
我的模特:
public function GetRecordDetails($array){
$this->db->select('*');
$this->db->where('type', $array['event_type']);
$this->db->where('id', $array['event_id']);
return $this->db->get('records')->result_array();
}
我的控制器:
public function show_record(){
$this->load->model('records_model');
$data = array(
"event_id" => $_POST['id'],
"event_type" => $_POST['type']
);
$msg = array();
if(empty($data['event_id'])) $msg['failed'] = "failed"; else
if(empty($data['event_type'])) $msg['failed'] = "failed"; else
if($this->records_model->CheckForRecord($data) == 0) $msg['failed'] = "failed"; else
if(count($msg) == 0){
$array['data'] = $this->records_model->GetRecordDetails($data);
$msg = array(
"success" => "success",
"id" => $data['event_id'],
"country" => $array['data']
);
}
echo json_encode($msg);
}
和我的观点:
EVENT.show = function (id, type) {
$("#loader_" + id).html("<img src='images/loaders/loader2.gif' width='11px' height='11px' alt='loading' />");
$("#failure").css('display', 'none');
$("#record_show").css('display', 'none');
var form_data = {
id : id,
type : type
}
$.ajax({
url: "records/show_record",
type: 'POST',
dataType: 'json',
data: form_data,
success: function (data) {
if(data.failed){
$("#loader_" + id).html("");
$("#failure").fadeIn(500);
$("#msg_area").html(data.failed);
}
if(data.success){
$("#loader_" + id).html("");
$("#record_show").fadeIn(500);
$("#record_id").val(data.id);
$("#record_country").val(data.country);
}
},
error: function (e) {
console.log(e.message);
}
});
return false;
};
我无法从控制器中的数组中收到“country”值。我只是不知道该怎么做。
它从我的mysql数据中返回所有数组:
{"success":"success","id":"38","country":[{"id":"38","type":"1","country":"1","event":"RAFAEL NADAL vs NOVAK DJOKOVIC","date":"2013-07-24 00:00:00","selection":"Novak Djokovic +2.5","odds":"1.83","result":"1"}]}
我该怎么办,只从我的阵列中抓取一个元素?我希望我的国家/地区值为$array['data']['country']
,但如果我在控制器中输入它,我会得到(对象对象)
答案 0 :(得分:0)
您已将$msg
数组中的“country”键设置为整个结果集数组。
如果我理解你要做的是什么,那么国家/地区价值实际上是$msg[country][country]
。
如果您设置$msg
数组时使用$array[data][country]
会更好,那么您只需使用$msg[country]
检索国家/地区值即可。
我希望我明白你的问题是什么。
聚苯乙烯。作为一个侧面问题,命名数组'数组'可能不是一个好主意,因为它可能会很快混淆。根据数组中的内容(例如结果)命名。