Làm cách nào để đếm người dùng trong laravel?

Như một tiền đề, bảng thông báo thành viên đang hoạt động và tổng số từ khóa như "ngon" và "xấu" trong nội dung đã đăng của người dùng đã đăng nhập có thể được lấy và hiển thị bằng mã sau. Bạn có thể vui lòng chỉ cho tôi nơi sửa đổi để liệt kê tổng số từ khóa được đăng bởi tất cả người dùng được xác thực không?

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 -

Làm cách nào để đếm người dùng trong laravel?

$userCount = Người dùng. đếm[];

Đếm [] trong laravel là gì?

Về cơ bản, phương thức count[] trả về tổng số bản ghi trong kết quả . Nếu bạn muốn kiểm tra xem bản ghi cụ thể có phải là “không null” với Laravel Eloquent hay không, hãy đảm bảo kiểm tra bài đăng này tại đây.

Làm cách nào để kiểm tra số lượng trong laravel?

Trong ví dụ này sẽ sử dụng selectRaw[] để lấy tổng số bản ghi có trong bảng. Id cột được sử dụng bên trong hàm đếm[] trong phương thức selectRaw[] và mã nhổ được sử dụng để tìm nạp số đếm .

Làm cách nào để lấy chi tiết người dùng hiện tại trong laravel?

Truy xuất người dùng đã xác thực .
sử dụng Chiếu sáng\Hỗ trợ\Mặt tiền\Auth;
// Lấy người dùng hiện tại đã được xác thực
$user = Xác thực. người dùng[];
// Lấy ID người dùng hiện tại đã được xác thực
$id = Xác thực. Tôi[];

Chủ Đề