我想知道從模型傳遞成功或失敗消息到控制器的最佳消息是什麼?成功消息很簡單,因爲我們可以將數據傳回。但是,對於失敗,我們只能傳遞FALSE而不是失敗的回調結果。Model在MVC中無法在DB中找到記錄時,何處傳回消息?
什麼是最好的方法?
這裏是方法之一:
下面是該模型:
function get_pkg_length_by_id($data) {
$this->db->where('id', $data['pkg_length_id']);
$result = $this->db->get('pkg_lengths');
if($result->num_rows() > 0) {
return $result->row();
}
else {
return false;
}
}
在控制器中,我會做
function show() {
if(get_pkg_length_by_id($data) {
//pass success message to view
}
else {
//Pass failure message to view
}
在這裏是2版本:
在模型
function get_pkg_length_by_id($data) {
$this->db->where('id', $data['pkg_length_id']);
$result = $this->db->get('pkg_lengths');
if($result->num_rows() > 0) {
$result['status'] = array(
'status' => '1',
'status_msg' => 'Record found'
);
return $result->row();
}
else {
$result['status'] = array(
'status' => '0',
'status_msg' => 'cannot find any record.'
);
return $result->row();
}
}
在控制器
function show() {
$result = get_pkg_length_by_id($data);
if($result['status['status']] == 1) {
//pass $result['status'['status_msg']] to view
}
else {
//pass $result['status'['status_msg']] to view
}
我覺得這個節目的功能應該只是一次返回。使用多個返回=>意大利麪代碼...最好在if/else中設置一個變量並返回它。個人喜好我想... – joe42 2013-04-28 04:08:02
@ joe42是的,這是個人喜好的問題。儘管我發現有其他一些東西可以使意大利麪條更像代碼:-) – TheMethod 2013-04-28 18:20:27