Hello,
I'm playling with multiple databases and I want to do a select some data
from a table in another schema, that the one currently selected. I have
following code
class Users extends Zend_Db_Table{
protected $_schema = 'ecms3base';
protected $_name = 'users';
}
$table = new Users();
echo $table->select()->from($table)->joinLeft($table, 'users_id');
exit;
Now there are three use cases I'm trying:
1) Echo $table->select()->from($table);
a. SELECT `users`.* FROM `ecms3base`.`users`
2) Echo $table->select()->from($table)->joinLeft('ecms3base.users',
'users_id');
a. SELECT `users`.*, `ecms3base.users_2`.* FROM `ecms3base`.`users`
LEFT JOIN `ecms3base`.`users` AS `ecms3base.users_2` ON users_id
3) Echo $table->select()->from($table)->joinLeft($table, 'users_id');
a. Resulting in a LOT of errors
i.
Warning: preg_match() expects parameter 2 to be string, object given in
D:\Web\Lib\Zend\Db\Select.php on line 787
ii.
Warning: strrpos() expects parameter 1 to be string, object given in
D:\Web\Lib\Zend\Db\Select.php on line 877
iii.
Warning: array_key_exists() [function.array-key-exists]: The first argument
should be either a string or an integer in D:\Web\Lib\Zend\Db\Select.php on
line 880
iv. Warning:
array_key_exists() [function.array-key-exists]: The first argument should be
either a string or an integer in D:\Web\Lib\Zend\Db\Select.php on line 801
v.
Warning: Illegal offset type in D:\Web\Lib\Zend\Db\Select.php on line 809
vi. Warning:
Illegal offset type in isset or empty in D:\Web\Lib\Zend\Db\Table\Select.php
on line 213
vii. Warning:
Select query cannot join with another table in D:\Web\Lib\Zend\Db\Select.php
on line 1285
I thought that I should be able to use the $table object directly also in
the joinLeft method . Or shouldn't I?
Thanks in advance
Regards
Jan
S pozdravem
Jan Juříček
WebCorp s.r.o.
Kancelář: Wichterlova 2372/10, 182 00 Praha
E-mail: <mailto:[email protected]> [email protected] Web:
<http://www.webcorp.cz/> www.webcorp.cz
Tel.: (+420) 725 607 671, (+420) 725 607 670