$items = property::orderBy('id', 'desc')
    ->whereProperty_categoryAndProperty_for_sale_or_rent('condo', 'rent')
    ->whereProperty_categoryAndProperty_for_sale_or_rent('apartment', 'rent')
    ->paginate('9');


您好,请为我提供有关该多个选择类别以及两个类别的Condo和Apartment的信息,并在laravel中输入rent。
先感谢您。

最佳答案

您的查询代码的条件是

WHERE
property_category = 'condo'
AND property_for_sale_or_rent.rent = 'rent'
AND property_category = 'apartment'
AND property_for_sale_or_rent.rent = 'rent'


因此它将不返回任何记录。

您需要使用where闭包来实现:

$items = property::orderBy('id', 'desc')
    ->whereProperty_for_sale_or_rent('rent')
    ->where(function($q) {
        $q->whereProperty_category('condo')
          ->orWhere('property_category', 'apartment');
    })
    ->paginate('9');

09-25 19:52