2 つのテーブルからのデータを含むオブジェクトを取得する最良の方法はどれだろうと思っています。私の場合、portfolioItem テーブルと画像を含む別のテーブルにデータを持つポートフォリオ アイテムを取得したいと考えています。
現在、オブジェクト内のこれらのアイテムを取得する最良の方法はどれかについて苦労しています。最初の方法では、Data クラスで一度にすべてを取得し、完全なオブジェクトを返します。2 番目の方法では、2 つの異なるデータ クラス (一般的なポートフォリオ情報用と画像用) からオブジェクトを構築します。
今、私はただ疑問に思っていますが、他の方法よりも優れた方法はありますか、それとも両方の方法が受け入れられますか? すべてのデータを一度に取得しても問題ありませんか、それとも 2 番目の方法のように分割する必要がありますか?
私は2つのテーブルを持っています:portfolioItemとportfolioItemImageのようなクラスがあります
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
}
}