Я хочу выполнить внутреннее соединение на двух таблицах.Выполнять внутреннюю запись в Zend PHP Framework
Таблица А -
item_id
ITEM_TITLE
varX
Таблица B -
item_id
VARY
someVar
Так я сделал это с использованием запроса RAW SQL.
$sql = 'SELECT tableA.item_id, tableY.item_title AS Name, 5 * varX + 5 * count(*) AS myScore
FROM tableA
INNER JOIN tableY ON tableA.item_id=tableY.item_id
WHERE someVar=\'8\'
GROUP BY item_id
ORDER BY myScore DESC
LIMIT 10';
$stmt = $this->_db->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
Теперь я хочу сделать это, используя Zend Query.
Это то, что я написал -
$data = $this->_db->select()
->from(array('tablA'=>'tableA'), array('item_id', 'item_title'), 'myScore'=>'(5*'tableA'.'varX') + 5*count(*)')
->joinInner(array('tablB'=>'tableB'), 'tablA'.'item_id' = 'tablB'.'item_id')
->where('someVar = 8')
->GROUP('item_id')
->order('myScore DESC')
->limit(10);
$dataResult = $this->_db->fetchAll($data);
Но я получаю эту ошибку -
syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ')'
в строке -> из (массива ('табла' => 'TABLEA') , массив ('item_id', 'ITEM_TITLE'), 'myScore' => '(5 'TABLEA'.' varX ') + 5 * Количество ()')
Не уверен, что делать здесь делать как я читал t он официальная документация, но все еще не может понять это. Любая помощь приветствуется!
Какую версию Zend Framework вы используете? –
Это версия 1.12.3. – chautob0t