Welcome Guest, Not a member yet? Register   Sign In
$this->setTable() or $this->table not sticking
#1

Ok, so, I've got a dynamic database setup where tickets are put in the tables and the tables can be created on the fly (as well as columns) - so I'm setting up the database model to handle this based upon incoming IDs.
Model code:
PHP Code:
    protected $table 'TN';
    protected $DBGroup 'protoEngine';

    public function getTickets(){
        echo $this->table.": enter<br>";
        $this->setTable($this->table);
        echo $this->table.": change 2<br>";
        $a$this->findAll(10,0);
        echo $this->table.": post query<br>";
        echo $this->getLastQuery();
        echo "<hr>";
        print_r($a);
        die();
    }

    public function changeTable($queueID) {

        echo $this->table.": start<br>";
        $this->setTable("ticketTypeData");
        echo $this->table.": change<br>";
        $row $this->where(['queueID'=>$queueID])->first();
        echo $this->table.": query<br>";
        $this->setTable($row['ticketIDprefix']);
        echo $this->table.": query change<br>";
        $this->table $row['ticketIDprefix'];
        echo $this->table.": direct assignment<br>";
        return ['ticketTypeName'=>$row['ticketTypeName'], 'ticketTypeDescription'=>$row['ticketTypeDescription']];
    
controller code:
PHP Code:
     $model2 = new Protoengine();
     $tableInfo $model2->changeTable(48); 
(the code is, obviously, peppered with debugging stuff)
The output is:

Code:
TN: start
ticketTypeData: change
ticketTypeData: query
PH: query change
PH: direct assignment
PH: enter
PH: change 2
PH: post query
SELECT * FROM `ticketTypeData` LIMIT 10

The model sees the change from TN to ticketTypeData to PH (as it should) - however the query in the getTickets() function should be calling the PH table and not the ticketTypeData table.

why?
Reply


Messages In This Thread
$this->setTable() or $this->table not sticking - by Kaosweaver - 03-19-2021, 06:36 AM



Theme © iAndrew 2016 - Forum software by © MyBB