had oop 链接mysql_php – 将MySQL连接查询与OOP和对象相关联的最佳实践方法
我正在開發一個
PHP Web應用程序,用戶可以創建到目的地的旅行,并邀請其他用戶參加這些旅行.
我有針對Destinations,Trips和Users的MySql表,以及一個名為Invites的表來解決Users和Trips之間的多對多關系.
對于這些表中的每一個,我在我的應用程序中創建了一個類(因此Destinations是一個類,Trips是一個類,等等).我為這些類中的每一個編寫了一個靜態函數,它允許實例化對象并從MySQL查詢中分配它們的屬性(因此從SELECT *查詢返回的每一行都會導致實例化對象并分配屬性).
我正在嘗試創建一個頁面,用戶可以在其中查看他們計劃的所有行程的詳細信息.此頁面將顯示目的地(來自目的地),旅行詳細信息(例如來自Trips的日期)以及他們邀請的用戶的詳細信息(例如來自用戶的用戶名),并將所有這些數據放在html表中,其中每次旅行都是行.
為了實現這一點,到目前為止,我一直在實例化與用戶的user_id相關的Trips,與這些Trips相關的Destinations和Invites,以及與這些Invites相關的用戶.然后我使用嵌套的foreach循環來顯示這些,如下所示:
foreach($trips as $trip) {
foreach($invites as $invite) {
foreach($invited_users as $invited_user) {
if($invite->trip_id == $trip->id && $invite->guest_id == $invited_user->id) {
echo $invited_user->name;
} } } }
我能看到的是可怕的,沒有辦法做到這一點.
從閱讀,我想我想使用MySQL加入4個表,然后只選擇與我的相關旅行相關的數據.但我不確定的是:
a)如何從MySQL結果中實例化對象并正確分配其屬性?
b)即使完成了這項工作,如何避免昂貴的foreach循環在正確的行程中顯示正確的數據?
是否存在以面向對象的方式顯示來自多個相關數據庫表的數據的“最佳實踐”方法?
總結
以上是生活随笔為你收集整理的had oop 链接mysql_php – 将MySQL连接查询与OOP和对象相关联的最佳实践方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5 可执行漏洞_漏洞预警:M
- 下一篇: mysql数据结构参考书籍_mysql数