我试图解决我的问题,因为2小时后,仍然没有任何解决方案。也许有人会看到我做错了什么。 我想要做的是使用zend框架从数据库中选择行。 这是什么查询我想选择:从数据库中加入Zend DB SELECT
SELECT * FROM `products_stock` JOIN `options_stock_values` ON `options_stock_values`.`stock_id` = `products_stock`.`stock_id` WHERE `product_id` = 119
这是一个简单加入的完美的作品在phpMyAdmin,但我在我的PHP代码不能这样想选择此项。
$select = $this->entity("ProductsStock")->select();
$select->join('options_stock_values','options_stock_values.stock_id = products_stock.stock_id',array());
$select->where("product_id = ?", $this->stock->product_id);
$select->where("extended = ?", 1);
$rowset = $this->entity("ProductsStock")->fetchAll($select);
return $rowset;
这就是我试图从数据库中选择我的行的方式。我从正常工作的实体中选择ProductsStock。但是,当我将JOIN函数添加到我的查询中时,它甚至会忽略WHERE语句,并期望这一行有多行。
例如, 有没有JOIN的数据库查询我得到两行(我期待他们),但是当我添加JOIN与options_stock_values表时,它给了我像20行没有来自第二表的列的东西。
它只是从第一个表(ProductsStock)返回20行,而不是来自ProductsStock的两行,与OptionsStockValues和第二个表中的列连接。
我认为我的php代码看起来很好,但也许我做了错误的事情吗?任何人都可以帮助我,甚至给我小建议吗?
你能否提一下zend框架版本? – ashish