我有一张2列的表,property_id
和amenity_id
。关系船是多对多的。
所以我有一个值$input['property_amenities']
的动态数组,我想找到数组中所有值都为property_id
的所有键。
到目前为止,我正在使用whereIn()
方法,但这可以获取每个查询的并集(如OR),但是我需要这些条件的AND。
因此返回的每个property_id应该包含输入数组中的每个值。
我想要这样的东西,但这不起作用。
for ($i = 0; $i < count($input['property_amenities']); $i++) {
$propertieswithAmenities = $propertieswithAmenities-
>where('amenity_id', '=',$input['property_amenities'][$i]);
}
return $propertywithAmenities->get();
答案 0 :(得分:0)
这里它将仅通过一个查询就检查数组的数据,而无需添加任何循环。希望它能对您有所帮助。
$propertieswithAmenities::whereIn('amenity_id', collect($input['property_amenities'])->flatten()->all())->get();