had oop 链接mysql_php – 将MySQL连接查询与OOP和对象相关联的最佳实践方法
我正在開發(fā)一個(gè)
PHP Web應(yīng)用程序,用戶可以創(chuàng)建到目的地的旅行,并邀請(qǐng)其他用戶參加這些旅行.
我有針對(duì)Destinations,Trips和Users的MySql表,以及一個(gè)名為Invites的表來解決Users和Trips之間的多對(duì)多關(guān)系.
對(duì)于這些表中的每一個(gè),我在我的應(yīng)用程序中創(chuàng)建了一個(gè)類(因此Destinations是一個(gè)類,Trips是一個(gè)類,等等).我為這些類中的每一個(gè)編寫了一個(gè)靜態(tài)函數(shù),它允許實(shí)例化對(duì)象并從MySQL查詢中分配它們的屬性(因此從SELECT *查詢返回的每一行都會(huì)導(dǎo)致實(shí)例化對(duì)象并分配屬性).
我正在嘗試創(chuàng)建一個(gè)頁(yè)面,用戶可以在其中查看他們計(jì)劃的所有行程的詳細(xì)信息.此頁(yè)面將顯示目的地(來自目的地),旅行詳細(xì)信息(例如來自Trips的日期)以及他們邀請(qǐng)的用戶的詳細(xì)信息(例如來自用戶的用戶名),并將所有這些數(shù)據(jù)放在html表中,其中每次旅行都是行.
為了實(shí)現(xiàn)這一點(diǎn),到目前為止,我一直在實(shí)例化與用戶的user_id相關(guān)的Trips,與這些Trips相關(guān)的Destinations和Invites,以及與這些Invites相關(guān)的用戶.然后我使用嵌套的foreach循環(huán)來顯示這些,如下所示:
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;
} } } }
我能看到的是可怕的,沒有辦法做到這一點(diǎn).
從閱讀,我想我想使用MySQL加入4個(gè)表,然后只選擇與我的相關(guān)旅行相關(guān)的數(shù)據(jù).但我不確定的是:
a)如何從MySQL結(jié)果中實(shí)例化對(duì)象并正確分配其屬性?
b)即使完成了這項(xiàng)工作,如何避免昂貴的foreach循環(huán)在正確的行程中顯示正確的數(shù)據(jù)?
是否存在以面向?qū)ο蟮姆绞斤@示來自多個(gè)相關(guān)數(shù)據(jù)庫(kù)表的數(shù)據(jù)的“最佳實(shí)踐”方法?
總結(jié)
以上是生活随笔為你收集整理的had oop 链接mysql_php – 将MySQL连接查询与OOP和对象相关联的最佳实践方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5 可执行漏洞_漏洞预警:M
- 下一篇: python alpha beta_py