03-19-2021, 06:36 AM
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:
controller code:
(the code is, obviously, peppered with debugging stuff)
The output is:
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?
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']];
}
PHP Code:
$model2 = new Protoengine();
$tableInfo = $model2->changeTable(48);
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?