Php CodeIgniter视图5中的未定义变量
我正在学习CodeIgniter,我被这个错误卡住了。Php CodeIgniter视图5中的未定义变量,php,codeigniter,Php,Codeigniter,我正在学习CodeIgniter,我被这个错误卡住了。 $categories可以,但是当我想查看$national时,我有一个错误 消息:未定义变量:国籍 文件名:pages/add_recipe.php 添加_recipes.php <?print_r($categories);?> <?print_r($nationality);?> 模型 public function get_nationality($conditions=null,$limit=null,$
$categories
可以,但是当我想查看$national
时,我有一个错误
消息:未定义变量:国籍
文件名:pages/add_recipe.php
添加_recipes.php
<?print_r($categories);?>
<?print_r($nationality);?>
模型
public function get_nationality($conditions=null,$limit=null,$offset=0,$order=null){
if($conditions!=null){
$this->db->where($conditions);
}
if($order!=null) {
$this->db->order_by($order);
}
$query = $this->db->get('nationality',$limit,$offset);
return $query->result();
}
public function get_categories($conditions=null,$limit=null,$offset=0,$order=null){
if($conditions!=null){
$this->db->where($conditions);
}
if($order!=null) {
$this->db->order_by($order);
}
$query = $this->db->get('categories',$limit,$offset);
foreach($query->result_array() as $row ){
if(!$row['parent_id']){
$data[$row['id']][] = $row['title'];
}else {
$data[$row['parent_id']]['sub'][$row['id']] = $row['title'];
}
}
return $data;
}
事实证明,该页面是从另一个控制器调用的,与名称混淆当您在“模型”中显示代码时,这两种方法位于两个单独的模型文件中,对吗
get_nationality()
在您的model_path/nationality_model.php
和get_categories()
在model_path/categories_model.php
中?是的,它们在两个单独的模型文件中只是一个想法,如果您切换名称会发生什么?模型文件的名称?我怀疑来自表'National'的请求返回一个空数组,但无法理解为什么。。。数据库中的表已满谢谢,我尝试了您推荐的,以前也尝试过,但它无法解决问题。请检查$this->load->view('templates/header')之前控制器函数上的$data数组“print_r($data);”;当我选中“是”时,什么也没有发生,但在视图中显示了一个数组并导致错误。请在控制器文件中尝试:替换此:$data['national']=$this->national\u model->get\u national();使用$res=$this->Nationality\u model->get\u Nationality();echo$res;死(‘这里’)$数据['国籍]=$res;谢谢你的帮助,我发现了问题!
public function get_nationality($conditions=null,$limit=null,$offset=0,$order=null){
if($conditions!=null){
$this->db->where($conditions);
}
if($order!=null) {
$this->db->order_by($order);
}
$query = $this->db->get('nationality',$limit,$offset);
return $query->result();
}
public function get_categories($conditions=null,$limit=null,$offset=0,$order=null){
if($conditions!=null){
$this->db->where($conditions);
}
if($order!=null) {
$this->db->order_by($order);
}
$query = $this->db->get('categories',$limit,$offset);
foreach($query->result_array() as $row ){
if(!$row['parent_id']){
$data[$row['id']][] = $row['title'];
}else {
$data[$row['parent_id']]['sub'][$row['id']] = $row['title'];
}
}
return $data;
}
Can you please update the Nationality model function get_nationality with this, try it...
public function get_nationality($conditions=null,$limit=null,$offset=0,$order=null){
if($conditions!=null){
$this->db->where($conditions);
}
if($order!=null) {
$this->db->order_by($order);
}
$query = $this->db->get('nationality',$limit,$offset);
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}