我正在編寫一個小型框架,我的目標是讓我的開發人員在添加/插入資源之後輕鬆設置重定向到資源的詳細信息頁面。使用PDO/MySQL獲取不止最後一個插入ID使用PDO/MySQL獲取不止最後一個插入ID
通常,這將與PDO :: lastInsertID()一樣簡單,但我使用的不僅僅是ID來標識資源,還使用了資源名稱/標題的格式化版本。
例如,一個新的錦標賽可能被稱爲「測試錦標賽」,因此它的資源URI將是domain.com/tournament/328-test-tournament。
所以當我在插入後重定向時,我需要重定向到'328-test-tournament'而不是'328'。這是出於URL完整性目的而設計的。我不希望人們使用錯誤匹配的ID和標題訪問個人資源。
所以說,我插入後,我希望能夠自動返回不僅ID,但爲我輸入的全部數據集,以便我可以格式化標題和重定向。
我可以在控制器中做到這一點:
$this->TournamentModel->insert();
$id = PDO::lastInsertID();
$title = my_title_formatting_function($_POST['title']);
@header("Location: domain.com/tournament/{$id}-{$title}");
但我想一個解決方案,就是稍微更優雅是這樣的:
的$ id = $這個 - > TournamentModel-> lastInsert();
其中lastInsert實際上是核心模型中的公共方法,它不僅檢索最後一個插入的標識,而且還檢索整個行。然後我會在那裏處理標題格式和id連接。
是否有這樣的事情存在?或者至少有一個PDO方法返回插入的表,以便我可以使用表名和ID構造一個查詢?
插入後,從上一個插入ID中選擇所需的所有字段 – 2012-07-14 21:25:37