我想知道哪个是从两个表中检索包含数据的对象的最佳方法。就我而言,我想检索一个投资组合项目,该项目在投资组合项目表中具有数据,并在一个单独的表中包含图像。
现在我正在努力寻找在对象中检索这些项目的最佳方法。在第一种方式中,我一次在我的 Data 类中检索所有内容并返回完整的对象,而第二种方式从两个不同的数据类(一个用于一般投资组合信息,一个用于图像)构建对象。
现在我只是想知道,有没有一种方法比另一种更好,或者两种方法都可以接受?一次获取所有数据是否可以,还是应该像第二种方式一样将其分解?
我有两个表:portfolioItem 和portionItemImage 我有一个类
PortfolioItem{
public $portfolioItemId;
public $name;
public $images //array
}
1:
$dataPortfolioItem = new DataPortfolioItem();
$theItem = $dataPortfolioItem->getPortfolioItem(5);
DataPortfolioItem{
public function getPortfolioItem($theId){
//create a new portfolio item
//get the portfolio data from portfolioItem table and fill in the id and name
//get the image data from image table and set the images array from the object
//return the object with the data and images included
}
}
2:
$dataPortfolioItem = new DataPortfolioItem();
$theItem = $dataPortfolioItem->getPortfolioItem(5);
$dataPortfolioItemImages = new DataPortfolioItemImages();
$theItem->images = $dataPortfolioItemImages->getPortfolioItemImages(5)
DataPortfolioItem{
public function getPortfolioItem($theId){
//create a new portfolio item
//get the portfolio data from portfolioItem table and fill in the id and name
//return the portfolio item
}
}
DataPortfolioItemImage{
public function getPortfolioItemImages($theId){
//get the images from the database table and return them in an array
}
}