Welcome Guest, Not a member yet? Register   Sign In
"$this->request->getVar" in a model with CI4

(This post was last modified: 01-24-2021, 10:24 AM by divebase.)

(01-24-2021, 03:06 AM)iRedds Wrote:
(01-23-2021, 01:01 PM)divebase Wrote: I have tried to use
"$this->request->getVar" in a model.
I didn't succeed.
It only worked when I moved the construct into a controller.
Why? What's my mistake?

If you need to use Request in a model method, pass a Request instance as a parameter to the method.
Or you can pass to the model constructor.
Or you can contact through the service.
There are many ways.
PHP Code:
$model = new SomeModel();
$model = new SomeModel($this->request);
$request App\Config\Service::request(); 

(01-23-2021, 01:01 PM)divebase Wrote: Then I tried "$this->db->update($id, $data);" to use in a model.
Error message:
Call to undefined method CodeIgniter \ Database \ MySQLi \ Connection :: update ()
How do I introduce the method to the model?

The $db property contains the connection.
To use QueryBuilder call $this->builder()
PHP Code:
$builder $this->builder();
// or
Where does the first part placed in?
PHP Code:
$model = new SomeModel();
I suppose in the controller or not.

The part:
PHP Code:
$model = new SomeModel($this->request); 
gives me an Error.
'Argument 1 passed to CodeIgniter\Model::__construct() must be an instance of CodeIgniter\Database\ConnectionInterface or null, object given'
Also placed in Controller. Ok?

$request = App\Config\Service::request();
Where have this placed in?

Thanks for help.
P.S. I am German. I hope somebody wrote in German too.

Messages In This Thread
RE: "$this->request->getVar" in a model - by divebase - 01-24-2021, 09:06 AM

Theme © iAndrew 2016 - Forum software by © MyBB