Using Instanceof in Laravel

Sử dụng Instanceof trong Laravel. Giúp ta dễ kiểm sót được các đối tưởng và kiểm tra được lỗi một cách rõ ràng hơn.

Ví dụ : mình xử dụng instanceof trong Try/Catch như sau:

use Illuminate\Database\Eloquent\ModelNotFoundException;
 /*
        $user =  new User;
        $product = new Product;
        dd(
            $user instanceof App\Models\Product, //Return "false"
            $user instanceof App\Models\User    //Return "true"
        );
    */
    $user_id = $request->id;
    try {
        // ✅ Lấy thông tin user từ Id
        $user = User::findOrFail($user_id);
        return Response()->json($user);
    } catch (ModelNotFoundException $e) {
        //👉 getModel (): Lấy mô hình Eloquent bị ảnh hưởng get
        //👉 getIds() : Nhận ID mô hình Eloquent bị ảnh hưởng.
        if($e instanceof Illuminate\Database\Eloquent\ModelNotFoundException){
            return Response()->json(['messages'=>$e->getModel(),'array'=>json_encode($e->getIds())]);
        }
    }

Cách trên mình cố tình kiểm tra lỗi nếu id user không đúng, mình dùng getModel(), getIds(). Hai hàm này có sẵn trong "ModelNotFoundException" bạn có thể xem ở đây : https://laravel.com/api/10.x/Illuminate/Database/Eloquent/ModelNotFoundException.html

Bài Viết Liên Quan

x

Xin chào! Hãy ủng hộ chúng tôi bằng cách nhấp vào quảng cáo trên trang web. Việc này giúp chúng tôi có kinh phí để duy trì và phát triển website ngày một tốt hơn. (Hello! Please support us by clicking on the ads on this site. Your clicks provide us with the funds needed to maintain and improve the website continuously.)

Ngoài ra, hãy đăng ký kênh YouTube của chúng tôi để không bỏ lỡ những nội dung hữu ích! (Also, subscribe to our YouTube channel to stay updated with valuable content!)

Đăng Ký