Разбивайте страницы на страницы, не уменьшая количество элементов на каждой странице. Laravel - PullRequest
0 голосов
/ 27 октября 2019

У меня здесь 4 стола. Я присоединяюсь к ним и хочу найти ключевое слово по этим столбцам. Я вижу результат, но все еще есть несколько пунктов, которые не соответствуют критериям. Каким критерием является wisata.publish = active. Так что я сделал foreach, чтобы уничтожить элемент, который не соответствует. Но я сделал это, уменьшив количество элементов на каждой странице с нумерацией страниц.

Любая идея, как удалить элементы, но не уменьшать количество элементов на каждой странице. Или запрос неверный? Вот мой код.

 $wisata =  Wisata::leftJoin('kabupaten', 'kabupaten.id_kabupaten', '=', 'wisata.kabupaten_kota')
                   ->leftJoin('kecamatan', 'kecamatan.id_kecamatan', '=', 'wisata.kecamatan')
                   ->leftJoin('kelurahan', 'kelurahan.id_kelurahan', '=','wisata.kelurahan')                          
                   ->where( function($query) use ($req) {

                         $query->where('wisata.nama_wisata','like', '%'.$req->keyword.'%')                          
                               ->orwhere('wisata.alamat','like', '%'.$req->keyword.'%')
                               ->orWhere('kabupaten.nama_kabupaten', 'LIKE', '%' .$req->keyword. '%')
                               ->orWhere('kecamatan.nama_kecamatan', 'LIKE', '%' .$req->keyword. '%')
                               ->orWhere('kelurahan.nama_kelurahan', 'LIKE', '%' .$req->keyword. '%'); 

                            })

                   ->where('wisata.publish', '=', 1 )                                  
                   ->orderBy('wisata.nama_wisata', 'asc')                          
                   ->paginate(6);

  foreach($wisata as $index => $w )
  {
    if($w->publish == 0)
    {
      unset($wisata[$index]);
    }

  }


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...