Ici, j'ai deux tables (rent_property
, rent_amenity
). Et j'utilise la requête join, où rent_property.id
. J'utilise la clé étrangère de rent_amenity
rentPropertyId
. Ici, je suis un projet immobilier, un projet ayant de multiples commodités, donc j'utilise deux tables.Comment et où ajouter les valeurs d'agrément dans cette réponse json
rent_property
:
id fullName propertyName
-------------------------------
1 A House Name1
2 B House Name2
3 C House Name3
4 D House Name4
rent_amenity
:
rentamenityId rentPropertyId amenityName
-------------------------------------------------------
1 1 Lift
2 1 Gym
3 2 Power backup
4 4 Gym
Ma requête SQL
$sql = "SELECT a.id,a.fullName,a.propertyName FROM rent_property a LEFT JOIN rent_amenity b ON a.id = b.rentPropertyId WHERE a.city='1' AND a.propertyType IN ('1','2') AND b.amenityName IN ('Gym') AND a.approveStatus!='Inactive' GROUP BY a.id order by a.id desc";
$result = $this->GetJoinRecord($sql);
Ma fonction dynamique
public function GetJoinRecord($query_string) {
$con = $this->DBConnection();
$query = mysqli_query($con, $query_string);
if(@mysqli_num_rows($query) > 0) {
while($data = mysqli_fetch_assoc($query)) {
$record[] = $data;
}
mysqli_free_result($query);
}
mysqli_close($con);
return $record;
}
Sur la base de ma requête SQL, je devrais obtenir deux dossiers, et aussi je reçois correctement mais je ne suis pas en mesure de faire mes résultats attendus, s'il vous plaît voir ci-dessous je vais poster ce que je reçois actuellement des résultats:
{
"status": "success",
"message": "Data Found.",
"data": {
"rent_id": [
{
"id": "4",
"fullName": "D",
"propertyName": "House Name4"
},
{
"id": "1",
"fullName": "A",
"propertyName": "House Name1"
}
]
}
}
Mon problème principal est que je veux donner l'agrément de réponse aussi, je ne sais pas où je dois ajouter l'agrément dans cette rangée. id 1 ayant deux amenity et id 2 ayant un amenity
Pouvez-vous s'il vous plaît mettre à jour votre réponse, sérieusement je ne suis pas capable de faire –