Laravel modelimi, bazı yönergelere, daha sonra take
ve skip
önceden tanımlanmış sayılarla eşleşmesi gerekebilecek sonuçlar için elverişli kullanarak sorgulamak istiyorum."Take" ve "atla" kullanmadan önce Laravel'in Eloquent satır sayısını alın
Bu kendi başına bir sorun değildir, ancak alma ve atlama ile sonuç kümesini azaltmadan önce sorguda bulunan satır sayısını bilmem gerekir - böylece her satırın olabileceği orijinal eşleşme sayısı Tabloda, eğer hiçbir yerde kullanılan maddeler yoksa ya da ikisi de kullanılıyorsa.
Yapmak istediğim şey, sorguyu iki kez yaparak, ilk önce "->take($iDisplayLength)->skip($iDisplayStart)
" ihmal ederek ve bunu sayarak başarılabilirdi, ancak bu sadece dağınık görünüyor.
Herhangi bir düşünce?
$contacts = Contact::where(function($query) use ($request)
{
if (!empty($request['firstname'])) {
$query->where(function($query) use ($request)
{
$query->where('firstname', 'LIKE', "%{$request['firstname']}%");
});
}
if (!empty($request['lastname'])) {
$query->where(function($query) use ($request)
{
$query->where('lastname', 'LIKE', "%{$request['lastname']}%");
});
}
})
->take($iDisplayLength)->skip($iDisplayStart)->get();
$iTotalRecords = count($contacts);
:
Yani bunun gerek Özetle 'count' ve 'take() -> skip() -> get()' işlevlerini çağırın; –
Nasıl üzgünüm demek istiyorsun? Şüphesiz bütün - $ contact = Contact :: where (function ($ query) kullanımı ($ request) .... - her seferinde tekrarlamak zorundayım? –
Hayır, cevap vermeyin. –