Ich habe eine belongstoMany
Beziehung auf meinem Property
Modell.Laravel WhereHas Abfrage liefert keine relevanten Ergebnisse
public function amenities()
{
return $this->belongsToMany('App\Amenity', 'property_amenities', 'property_id', 'amenity_id')
->withPivot('status');
}
Dann auf meinem post
Methode habe ich diese params:
$amenities = Array
(
[1] => 1
[2] => 0
[3] => 1
[25] => 0
[26] => 0
)
Wo ist der Schlüssel der Infrastruktur-ID und der Wert wahr oder falsch ist (boolean).
Auf der Grundlage dieser Informationen, die ich die relevanten Ergebnisse abfragen versuchen, damit ich diese Anfrage:
$properties = Property::whereHas('amenities', function($query) use($amenities){
foreach($amenities as $amenityID=>$status)
{
$query->where('property_amenities.id', $amenityID);
$query->where('property_amenities.status', $status);
}
});
return $properties->get();
So in natürlicher Sprache Ich möchte alle Eigenschaften, die Metalltür (amenity_id 1 mit Status 1) und hat nicht Hone (Amenity_id 2 mit Status 0) und so ....
In diesem Moment gibt meine Abfrage alle Eigenschaften zurück.
Dies wird nicht die Eigenschaften basierend auf '$ Annehmlichkeiten' params zurückgeben. –