Ich möchte eine innere Verbindung auf zwei Tabelle durchführen.Führen Sie eine innere Verbindung in Zend PHP Framework
Tabelle A -
ITEM_ID
ITEM_TITLE
varX
Tabelle B -
ITEM_ID
VARY
someVar
So habe ich das mit einer RAW SQL-Abfrage gemacht.
$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();
Jetzt möchte ich dies mit einer Zend Query tun.
Dies ist, was ich geschrieben habe -
$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);
Aber ich habe diesen Fehler -
syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ')'
in Zeile -> aus (array ('tabla' => 'tableA') , array ('ITEM_ID', 'ITEM_TITLE'), 'myScore' => '(5 'tableA'.' varX ') + 5 * count ()')
nicht sicher, was hier zu tun wie ich gelesen habe Die offizielle Dokumentation kann das aber immer noch nicht herausfinden. Jede Hilfe wird geschätzt!
Welche Zend Framework Version verwenden Sie? –
Es ist Version 1.12.3. – chautob0t