ようdealImages
から単一の値を返している
$dealDetailsArray = array();
$this->db->select('d.dealId,d.dealTitle,d.slug,d.dealDetails,d.extraDetails,d.aditionalDetails,d.status,d.dateAdded,d.categoryId,d.dealSubCategory,d.siteId,d.dealBrandId,d.isPinned,d.priceId,d.price,d.startDate,d.startTime,d.endDate,d.endTime,d.addedTime,d.dealUrl,d.adminAffiliatePrice,d.cashbackType,d.cashbackAmountType,d.cashbackAmount,d.shippingType,d.NumberOfClicked,d.priceType,d.discountPrice,d.discountPercentage,d.deal_location,d.howtousethisoffer,d.cancellationpolicy,d.deal_submittedby,d.dealType,d.totalavailabledeals,d.numberofdealused,d.showinhomescreen,d.showinmenu,d.isHomeScreenBigDeal,di.imageId,di.imageUrl,di.thumbImage,di.imageOrder,di.status,di.dealId,di.addedOn,di.imageobjId,di.normalimageurl,di.imgobjext,di.imgobject,di.imgisdefault');
$this->db->from('dealdetails as d');
$this->db->join('dealImages di', 'di.dealId = d.dealId','left');
$this->db->where('d.endTime >= ',date('Y-m-d H:i:s'));
$this->db->group_by('d.dealId');
$this->db->order_by("d.dealId", "desc");
$query = $this->db->get();
if($query->num_rows()>0) {
$dealDetailsArray = $query->result_array();
$query->free_result();
}
return $dealDetailsArray;
をクエリを書くことは(、)コンマで値を返すように
コードを分離:
$dealDetailsArray = array();
$this->db->select('d.dealId,d.dealTitle,d.slug,d.dealDetails,d.extraDetails,d.aditionalDetails,d.status,d.dateAdded,d.categoryId,d.dealSubCategory,d.siteId,d.dealBrandId,d.isPinned,d.priceId,d.price,d.startDate,d.startTime,d.endDate,d.endTime,d.addedTime,d.dealUrl,d.adminAffiliatePrice,d.cashbackType,d.cashbackAmountType,d.cashbackAmount,d.shippingType,d.NumberOfClicked,d.priceType,d.discountPrice,d.discountPercentage,d.deal_location,d.howtousethisoffer,d.cancellationpolicy,d.deal_submittedby,d.dealType,d.totalavailabledeals,d.numberofdealused,d.showinhomescreen,d.showinmenu,d.isHomeScreenBigDeal,di.imageId,di.GROUP_CONCAT(di.imageUrl) AS imageUrl,di.thumbImage,di.imageOrder,di.status,di.dealId,di.addedOn,di.imageobjId,di.normalimageurl,di.imgobjext,di.imgobject,di.imgisdefault');
$this->db->from('dealdetails as d');
$this->db->join('dealImages di', 'di.dealId = d.dealId','left');
$this->db->where('d.endTime >= ',date('Y-m-d H:i:s'));
$this->db->group_by('d.dealId');
$this->db->order_by("d.dealId", "desc");
$query = $this->db->get();
if($query->num_rows()>0) {
$dealDetailsArray = $query->result_array();
$query->free_result();
}
return $dealDetailsArray;
ダミーレコードでテーブルスキーマを表示してください。 – Nidhi
クエリでユーザーをグループ化するため、dealImagesから単一の値を返すクエリ。 –
@ NashirUddinただし、dealidテーブルに10個の画像がある場合は、dealimageテーブルに10個の値が返されます。間違っていない場合は – santanu