-
pippuccio76 Senior Member
   
-
Posts: 547
Threads: 231
Joined: Jun 2017
Reputation:
2
07-05-2021, 04:16 AM
(This post was last modified: 07-05-2021, 04:17 AM by pippuccio76.)
Hi how can i do a join query on controller's method :
Code: $this->select('tratte_acquistate.*');
$this->select('tratte_acquistate_extra.*');
$this->select('tratte_acquistate_passeggeri.*');
$this->from('tratte_acquistate');
$this->join('tratte_acquistate_extra', 'tratte_acquistate.id = tratte_acquistate_extra.id_tratte_acquistate');
$this->join('tratte_acquistate_passeggeri', 'tratte_acquistate_passeggeri.id = tratte_acquistate_passeggeri.id_tratte_acquistate');
$this->orderBy('Table_3.id');
$result = $this->findAll();
echo $this->db->getLastQuery();
return $result;
Call to undefined method App\Controllers\Admin_tratte_acquistate:: select()
-
craig CI Veteran
  
-
Posts: 60
Threads: 0
Joined: Nov 2020
Reputation:
2
-
paliz Member
  
-
Posts: 236
Threads: 19
Joined: Oct 2020
Reputation:
1
PHP Code: public function index() {
$newsMediaModel = new NewsMediaModel(); $result = $newsMediaModel->select() ->join('news_post', 'news_post.id = news_media.post_id', 'left') ->where(['id'=>'2'])
->orderBy('id','desc') ->paginate(10, 'default',1, 1);
return $this->respond([ 'data' => $result, 'pager' => $newsMediaModel->pager->getDetails() ], ResponseInterface::HTTP_OK, lang('Shared.api.receive'));
}
Enlightenment Is Freedom
-
ikesela Member
  
-
Posts: 155
Threads: 0
Joined: Nov 2020
Reputation:
7
07-05-2021, 12:22 PM
(This post was last modified: 07-05-2021, 12:24 PM by ikesela.)
declare variable first
protected $db;
then in controller __construct()
$this->db = db_connect();
now your are ready to use.
$this->db->select('tratte_acquistate.*');
-
pippuccio76 Senior Member
   
-
Posts: 547
Threads: 231
Joined: Jun 2017
Reputation:
2
07-05-2021, 12:50 PM
(This post was last modified: 07-05-2021, 12:58 PM by pippuccio76.)
(07-05-2021, 12:22 PM)ikesela Wrote: declare variable first
protected $db;
then in controller __construct()
$this->db = db_connect();
now your are ready to use.
$this->db->select('tratte_acquistate.*');
Don't work error : Call to undefined method CodeIgniter\Database\MySQLi\Connection:: select()
(07-05-2021, 12:13 PM)paliz Wrote: PHP Code: public function index() {
$newsMediaModel = new NewsMediaModel(); $result = $newsMediaModel->select() ->join('news_post', 'news_post.id = news_media.post_id', 'left') ->where(['id'=>'2'])
->orderBy('id','desc') ->paginate(10, 'default',1, 1);
return $this->respond([ 'data' => $result, 'pager' => $newsMediaModel->pager->getDetails() ], ResponseInterface::HTTP_OK, lang('Shared.api.receive'));
}
this is my function :
Code: public function lista_completa(){
$tratte_acquistate_model = new Tratte_acquistateModel();
$result =$tratte_acquistate_model->select('tratte_acquistate.*')
->select('tratte_acquistate_extra.*')
->select('tratte_acquistate_passeggeri.*')
->join('tratte_acquistate_extra', 'tratte_acquistate.id = tratte_acquistate_extra.id_tratte_acquistate')
->join('tratte_acquistate_passeggeri', 'tratte_acquistate_passeggeri.id = tratte_acquistate_passeggeri.id_tratte_acquistate')
->findAll();
echo $tratte_acquistate_model->getLastQuery();
return $result;
}
mysqli_result::fetch_object(): Argument #1 ($class) must be a valid class name, App\Models\EntitiesTratte_acquistate given
-
ikesela Member
  
-
Posts: 155
Threads: 0
Joined: Nov 2020
Reputation:
7
07-05-2021, 10:02 PM
(This post was last modified: 07-05-2021, 10:08 PM by ikesela.)
(07-05-2021, 12:50 PM)pippuccio76 Wrote: (07-05-2021, 12:22 PM)ikesela Wrote: declare variable first
protected $db;
then in controller __construct()
$this->db = db_connect();
now your are ready to use.
$this->db->select('tratte_acquistate.*');
Don't work error : Call to undefined method CodeIgniter\Database\MySQLi\Connection:: select()
(07-05-2021, 12:13 PM)paliz Wrote: PHP Code: public function index() {
$newsMediaModel = new NewsMediaModel(); $result = $newsMediaModel->select() ->join('news_post', 'news_post.id = news_media.post_id', 'left') ->where(['id'=>'2'])
->orderBy('id','desc') ->paginate(10, 'default',1, 1);
return $this->respond([ 'data' => $result, 'pager' => $newsMediaModel->pager->getDetails() ], ResponseInterface::HTTP_OK, lang('Shared.api.receive'));
}
this is my function :
Code: public function lista_completa(){
$tratte_acquistate_model = new Tratte_acquistateModel();
$result =$tratte_acquistate_model->select('tratte_acquistate.*')
->select('tratte_acquistate_extra.*')
->select('tratte_acquistate_passeggeri.*')
->join('tratte_acquistate_extra', 'tratte_acquistate.id = tratte_acquistate_extra.id_tratte_acquistate')
->join('tratte_acquistate_passeggeri', 'tratte_acquistate_passeggeri.id = tratte_acquistate_passeggeri.id_tratte_acquistate')
->findAll();
echo $tratte_acquistate_model->getLastQuery();
return $result;
}
mysqli_result::fetch_object(): Argument #1 ($class) must be a valid class name, App\Models\EntitiesTratte_acquistate given
my bad, model usage is different than builder.
showing half code, hard to solve this.
-
manager Member
  
-
Posts: 74
Threads: 7
Joined: Dec 2020
Reputation:
1
All queries to retrieve data from database should be in models, controllers just call suitable model's methods and that's it.
If your model extends codeigniter's Model than there always available automated database connection which you can use ($this-db is a reference to default database connection).
select() is a Query Builder method. So use it with query builder, like:
$builder = $this-db->table('my_table_name');
$builder->select('my_variable1, my_variable2');
$query = $builder->get();
-
pippuccio76 Senior Member
   
-
Posts: 547
Threads: 231
Joined: Jun 2017
Reputation:
2
(07-05-2021, 10:02 PM)ikesela Wrote: (07-05-2021, 12:50 PM)pippuccio76 Wrote: (07-05-2021, 12:22 PM)ikesela Wrote: declare variable first
protected $db;
then in controller __construct()
$this->db = db_connect();
now your are ready to use.
$this->db->select('tratte_acquistate.*');
Don't work error : Call to undefined method CodeIgniter\Database\MySQLi\Connection:: select()
(07-05-2021, 12:13 PM)paliz Wrote: PHP Code: public function index() {
$newsMediaModel = new NewsMediaModel(); $result = $newsMediaModel->select() ->join('news_post', 'news_post.id = news_media.post_id', 'left') ->where(['id'=>'2'])
->orderBy('id','desc') ->paginate(10, 'default',1, 1);
return $this->respond([ 'data' => $result, 'pager' => $newsMediaModel->pager->getDetails() ], ResponseInterface::HTTP_OK, lang('Shared.api.receive'));
}
this is my function :
Code: public function lista_completa(){
$tratte_acquistate_model = new Tratte_acquistateModel();
$result =$tratte_acquistate_model->select('tratte_acquistate.*')
->select('tratte_acquistate_extra.*')
->select('tratte_acquistate_passeggeri.*')
->join('tratte_acquistate_extra', 'tratte_acquistate.id = tratte_acquistate_extra.id_tratte_acquistate')
->join('tratte_acquistate_passeggeri', 'tratte_acquistate_passeggeri.id = tratte_acquistate_passeggeri.id_tratte_acquistate')
->findAll();
echo $tratte_acquistate_model->getLastQuery();
return $result;
}
mysqli_result::fetch_object(): Argument #1 ($class) must be a valid class name, App\Models\EntitiesTratte_acquistate given
my bad, model usage is different than builder.
showing half code, hard to solve this. no is entire function (lista_completa) not half ...
|