mạng. php
Route::get['/myfood', 'HomeController@myfood']->name['home.myfood']; Route::get['/foods', 'HomeController@foods']->name['home.foods'];
Bộ điều khiển
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\Post; use App\Models\Comment; use Auth; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\DB; class HomeController extends Controller { public function __construct[] { $this->middleware['auth']; } public function myfood[] { $user = auth[]->user[]->id; $myusers=User::where['id', $user]->get[]; $PostsOisiCount = Post::where['user_id', $user]->where[function[$query] {$query->where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'];}]->count[]; $PostsCount = Post::where['user_id', $user]->count[]; return view['myfood', compact['user', 'myusers', 'PostsOisiCount', 'PostsCount']]; } public function foods[] { $users = User::all[]; $PostsOisiCount = Post::where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'] ->count[]; $PostsCount = Post::count[]; return view['foods', compact['users', 'PostsOisiCount', 'PostsCount']]; } }
myfoodBlade
@foreach[$myusers as $myuser] @endforeach # Name Results {{$myuser->id}} {{$myuser->name}} [$PostsOisiCount / $PostsCount ] * 100
thực phẩmBlade
@foreach[$users as $user] @endforeach # Name Results {{$user->id}} {{$user->name}} [$PostsOisiCount / $PostsCount ] * 100
Những gì tôi đã thử
the total of keywords such as "delicious" and "bad" in the posted content of the logged-in user can be acquired and displayed with the following code.
Trình tạo truy vấn trôi chảy trong Laravel là một giao diện đảm nhiệm việc tạo và chạy các truy vấn cơ sở dữ liệu. Trình tạo truy vấn hoạt động tốt với tất cả các cơ sở dữ liệu được hỗ trợ trong laravel và có thể được sử dụng để thực hiện hầu hết các thao tác cơ sở dữ liệu trên đó
Ưu điểm của việc sử dụng trình tạo truy vấn trôi chảy là nó có khả năng bảo vệ chống lại các cuộc tấn công sql injection. Nó sử dụng liên kết tham số PDO và bạn có thể tự do gửi các chuỗi của mình khi cần
Trình tạo truy vấn trôi chảy hỗ trợ rất nhiều phương thức như đếm, tối thiểu, tối đa, trung bình, tổng sẽ tìm nạp cho bạn các giá trị tổng hợp từ bảng của bạn
Bây giờ chúng ta hãy xem cách sử dụng trình tạo truy vấn thông thạo để lấy số lượng trong truy vấn được chọn. Để làm việc với trình tạo truy vấn trôi chảy, hãy sử dụng lớp mặt tiền DB như được hiển thị bên dưới
use Illuminate\Support\Facades\DB;
Bây giờ chúng ta hãy kiểm tra một vài ví dụ để lấy số lượng trong truy vấn chọn. Giả sử chúng tôi đã tạo một bảng có tên sinh viên với truy vấn sau
CREATE TABLE students[ id INTEGER NOT NULL PRIMARY KEY, name VARCHAR[15] NOT NULL, email VARCHAR[20] NOT NULL, created_at VARCHAR[27], updated_at VARCHAR[27], address VARCHAR[30] NOT NULL ];
Và điền nó như hình dưới đây -
+----+---------------+------------------+-----------------------------+-----------------------------+---------+ | id | name | email | created_at | updated_at | address | +----+---------------+------------------+-----------------------------+-----------------------------+---------+ | 1 | Siya Khan | siya@gmail.com | 2022-05-01T13:45:55.000000Z | 2022-05-01T13:45:55.000000Z | Xyz | | 2 | Rehan Khan | rehan@gmail.com | 2022-05-01T13:49:50.000000Z | 2022-05-01T13:49:50.000000Z | Xyz | | 3 | Rehan Khan | rehan@gmail.com | NULL | NULL | testing | | 4 | Rehan | rehan@gmail.com | NULL | NULL | abcd | +----+---------------+------------------+-----------------------------+-----------------------------+---------+
Số bản ghi trong bảng là 4
ví dụ 1
Trong ví dụ sau, chúng tôi đang sử dụng sinh viên bên trong DB. cái bàn. Phương thức count[] đảm nhiệm việc trả về tổng số bản ghi có trong bảng
________số 8đầu ra
Đầu ra từ ví dụ trên là -
The count of students table is :4
ví dụ 2
Trong ví dụ này sẽ sử dụng selectRaw[] để lấy tổng số bản ghi có trong bảng
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\Post; use App\Models\Comment; use Auth; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\DB; class HomeController extends Controller { public function __construct[] { $this->middleware['auth']; } public function myfood[] { $user = auth[]->user[]->id; $myusers=User::where['id', $user]->get[]; $PostsOisiCount = Post::where['user_id', $user]->where[function[$query] {$query->where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'];}]->count[]; $PostsCount = Post::where['user_id', $user]->count[]; return view['myfood', compact['user', 'myusers', 'PostsOisiCount', 'PostsCount']]; } public function foods[] { $users = User::all[]; $PostsOisiCount = Post::where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'] ->count[]; $PostsCount = Post::count[]; return view['foods', compact['users', 'PostsOisiCount', 'PostsCount']]; } }0
Id cột được sử dụng bên trong hàm đếm [] trong phương thức selectRaw [] và phép nhổ được sử dụng để tìm nạp số đếm
đầu ra
Đầu ra của đoạn mã trên là -
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\Post; use App\Models\Comment; use Auth; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\DB; class HomeController extends Controller { public function __construct[] { $this->middleware['auth']; } public function myfood[] { $user = auth[]->user[]->id; $myusers=User::where['id', $user]->get[]; $PostsOisiCount = Post::where['user_id', $user]->where[function[$query] {$query->where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'];}]->count[]; $PostsCount = Post::where['user_id', $user]->count[]; return view['myfood', compact['user', 'myusers', 'PostsOisiCount', 'PostsCount']]; } public function foods[] { $users = User::all[]; $PostsOisiCount = Post::where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'] ->count[]; $PostsCount = Post::count[]; return view['foods', compact['users', 'PostsOisiCount', 'PostsCount']]; } }1
ví dụ 3
Ví dụ này sẽ sử dụng phương thức selectRaw[]. Hãy xem xét bạn muốn đếm tên, ví dụ Rehan Khan. Hãy cho chúng tôi xem cách sử dụng selectRaw[] với phương thức count[]
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\Post; use App\Models\Comment; use Auth; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\DB; class HomeController extends Controller { public function __construct[] { $this->middleware['auth']; } public function myfood[] { $user = auth[]->user[]->id; $myusers=User::where['id', $user]->get[]; $PostsOisiCount = Post::where['user_id', $user]->where[function[$query] {$query->where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'];}]->count[]; $PostsCount = Post::where['user_id', $user]->count[]; return view['myfood', compact['user', 'myusers', 'PostsOisiCount', 'PostsCount']]; } public function foods[] { $users = User::all[]; $PostsOisiCount = Post::where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'] ->count[]; $PostsCount = Post::count[]; return view['foods', compact['users', 'PostsOisiCount', 'PostsCount']]; } }2
Trong ví dụ trên, chúng tôi muốn tìm số đếm trong bảng. học sinh có tên. Rehan Khan. Vì vậy, truy vấn được viết để có được điều đó là
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\Post; use App\Models\Comment; use Auth; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\DB; class HomeController extends Controller { public function __construct[] { $this->middleware['auth']; } public function myfood[] { $user = auth[]->user[]->id; $myusers=User::where['id', $user]->get[]; $PostsOisiCount = Post::where['user_id', $user]->where[function[$query] {$query->where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'];}]->count[]; $PostsCount = Post::where['user_id', $user]->count[]; return view['myfood', compact['user', 'myusers', 'PostsOisiCount', 'PostsCount']]; } public function foods[] { $users = User::all[]; $PostsOisiCount = Post::where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'] ->count[]; $PostsCount = Post::count[]; return view['foods', compact['users', 'PostsOisiCount', 'PostsCount']]; } }3
Chúng tôi đã sử dụng phương thức selectRaw[] đảm nhiệm việc đếm các bản ghi từ bộ lọc where. Cuối cùng, phương thức nhổ[] được sử dụng để lấy giá trị đếm
đầu ra
Đầu ra của đoạn mã trên là -
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\Post; use App\Models\Comment; use Auth; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\DB; class HomeController extends Controller { public function __construct[] { $this->middleware['auth']; } public function myfood[] { $user = auth[]->user[]->id; $myusers=User::where['id', $user]->get[]; $PostsOisiCount = Post::where['user_id', $user]->where[function[$query] {$query->where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'];}]->count[]; $PostsCount = Post::where['user_id', $user]->count[]; return view['myfood', compact['user', 'myusers', 'PostsOisiCount', 'PostsCount']]; } public function foods[] { $users = User::all[]; $PostsOisiCount = Post::where['body', 'like', '%delicious%'] ->orWhere['body', 'like', '%bad%'] ->count[]; $PostsCount = Post::count[]; return view['foods', compact['users', 'PostsOisiCount', 'PostsCount']]; } }4
Ví dụ 4
Trong trường hợp bạn dự định sử dụng phương thức count[] để kiểm tra xem có bản ghi nào tồn tại trong bảng hay không, một cách khác là bạn có thể sử dụng phương thức tồn tại[] hoặc không tồn tại[] như hình dưới đây -