我試圖解決我的問題,因爲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