Active records Codeigniter

dorga

Registered
Здравейте,
имам проблем. Когато си пиша процедурна заявка до База данни и изкарам резултата всичко е окей, но когато напиша заявката с Active Records, след това постоянно получавам грешки.

МОДЕЛ:
Код:
function getMovies(){
    $this->db->select('*');
    $this->db->join('MoviesItems', 'MoviesItems.movieId = MoviesHeader.movieId');

    $query = $this->db->get('MoviesHeader');
    return $query->result();
    }
'

КОНТРОЛЕР:
Код:
$data['movielist']=  $this->Showmovies_model->getMovies();
$this->load->view('showmovies_view', $data);

VIEW:
Код:
if($movielist){
                    foreach($query->result() as $row){
                        echo $row->SomeRow;
                        echo $row->SomeRow;
                        echo $row->SomeRow;
                    }
                }

И грешката:
Код:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: query
Filename: views/showmovies_view.php
 
View-то няма достъп до $query променливата в Model-а ти.

Пробвай с това:
PHP:
if($movielist){
	foreach($movielist as $row){
		echo $row->SomeRow;
		echo $row->SomeRow;
		echo $row->SomeRow;
	}
}
 
eLite каза:
View-то няма достъп до $query променливата в Model-а ти.

Пробвай с това:
PHP:
if($movielist){
	foreach($movielist as $row){
		echo $row->SomeRow;
		echo $row->SomeRow;
		echo $row->SomeRow;
	}
}

Оп, сега се оправи, но излезе нова грешка.
Call to a member function result() on a non-object
 
Код:
function getMovies(){
    $this->db->select('*');
    $this->db->join('MoviesItems', 'MoviesItems.movieId = MoviesHeader.movieId');

    $query = $this->db->get('MoviesHeader');
    $obj = $query->result();
    return $obj;
}
Това би трябвало да махне грешката
 
dorga каза:
eLite каза:
View-то няма достъп до $query променливата в Model-а ти.

Пробвай с това:
PHP:
if($movielist){
	foreach($movielist as $row){
		echo $row->SomeRow;
		echo $row->SomeRow;
		echo $row->SomeRow;
	}
}

Оп, сега се оправи, но излезе нова грешка.
Call to a member function result() on a non-object

Можеш ли да дадеш цялата грешка?

Edit: преполагам е в Model-a.

Добави var_dump($query); след $query = $this->db->get('MoviesHeader'); и дай output-а тук.
 
skynet каза:
Код:
function getMovies(){
    $this->db->select('*');
    $this->db->join('MoviesItems', 'MoviesItems.movieId = MoviesHeader.movieId');

    $query = $this->db->get('MoviesHeader');
    $obj = $query->result();
    return $obj;
}
Това би трябвало да махне грешката

Колега, не стана по този начин.


eLite:

object(CI_DB_mysqli_result)#20 (8) { ["conn_id"]=> object(mysqli)#14 (19) { ["affected_rows"]=> int(1) ["client_info"]=> string(6) "5.5.36" ["client_version"]=> int(50536) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(13) ["host_info"]=> string(25) "Localhost via UNIX socket" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(10) "5.5.37-cll" ["server_version"]=> int(50537) ["stat"]=> string(154) "Uptime: 166905 Threads: 42 Questions: 205209438 Slow queries: 417 Opens: 732210 Flush tables: 1 Open tables: 32768 Queries per second avg: 1229.498" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(2624626) ["warning_count"]=> int(0) } ["result_id"]=> object(mysqli_result)#19 (5) { ["current_field"]=> int(0) ["field_count"]=> int(13) ["lengths"]=> NULL ["num_rows"]=> int(1) ["type"]=> int(0) } ["result_array"]=> array(0) { } ["result_object"]=> array(0) { } ["custom_result_object"]=> array(0) { } ["current_row"]=> int(0) ["num_rows"]=> int(1) ["row_data"]=> NULL }
 
Оправих се.
В условието на foreach-a вместо $query->result() сложих $movielist и всичко е окей. Благодаря на всички.
 

Back
Горе