How to check if user has created any post or not in laravel

Created at 14-Sep-2021 , By samar

How to check if user has created any post or not in laravel

We will use programming in this lesson to attempt to solve the "How to check if user has created any post or not in laravel".

You can check if user has created post or not in laravel using has() method on relation model. Here has() method returns the null value if user has not created any post. If user has created any post then it will return the user record from the table.
  • Check if user has created posts or not in laravel using has method

    $userHasPosts = User::has('posts')->find(Auth::user()->id);
    dd($userHasPosts);
    
    //app\Models\User.php
    //Model path may be different as per your laravel version
    public function posts(){
        return $this->hasMany(Post::class);
    }
    

    Output :

    Return user details from table if user has created any post

    App\Models\User {#1556 ▼
      #fillable: array:13 []
      #hidden: array:2 []
      #casts: array:1 []
      #connection: "mysql"
      #table: "users"
      #primaryKey: "id"
      #keyType: "int"
      +incrementing: true
      #with: []
      #withCount: []
      +preventsLazyLoading: false
      #perPage: 15
      +exists: true
      +wasRecentlyCreated: false
      #attributes: array:23 []
      #original: array:23 []
      #changes: []
      #classCastCache: []
      #dates: []
      #dateFormat: null
      #appends: []
      #dispatchesEvents: []
      #observables: []
      #relations: []
      #touches: []
      +timestamps: true
      #visible: []
      #guarded: array:1 []
      #rememberTokenName: "remember_token"
    }

    If user has not created any post 
     
    null

    This code snippet will return the record from the users table if there are post records (from the related post table) that belong to this particular user exists in the posts table else it will return null.  To achieve this you have to create a users table with column id (primary key) and posts table with user_id (foreign key) in the database. You have to also create a hasMany relationship with name posts in the user model.

Back to code snippet queries related laravel

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Buy Me A Coffee

Don't forget to share this article! Help us spread the word by clicking the share button below.

We appreciate your support and are committed to providing you valuable and informative content.

We are thankful for your never ending support.