?
Current File : /home/sanghavirealty/public_html/appazwer/Models/Categorybeta.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Categorybeta extends Model
{
    use HasFactory;

    public $table="categorybetatbl";

    const CREATED_AT = 'createdate';
    const UPDATED_AT = 'modifydate';


    public function getCategorybetaTitle()
    {
            return $this->hasMany(Blog::class, 'categoryid');
    }








    public static function categorybetaCombo($id=0)
    { 
     return Categorybeta::Where('parentid', 0)
     ->Where('currentstatus',0)
     ->with('catSub.catSub')
     ->get();

    //  ->orderBy('parentid', 'ASC')
    
     }


     public function catSub()
     {
 
      return $this->hasMany(Categorybeta::class,'parentid')->with('catSub') ;
  
      }



      public static function getCategoryBetaListForComposer (){
       $getCategoryList =  $dataviewer = Categorybeta::Where('currentstatus',0)
        ->with('subcategories.subcategories')
        ->get();
        return $getCategoryList ;
     }

      
     public function subcategories()
     {  
      return $this->hasMany(Categorybeta::class,'parentid')->with('subcategories') ;
      }    




    public static function findfeaturedCategories($id=4){

        $getCategory = Categorybeta::Where('currentstatus' , '0')
               ->take($id)
               ->orderBy('createdate', 'DESC')
               ->get();

            

               return  $getCategory ;
         
           }

   



    







     public function getCategoryName()
     {
             return $this->belongsTo(Blog::class, 'categories_id' );
     }


     public function getCategoryNamehas()
     {
        //filter
         return $this->hasMany(Blog::class, 'categories_id' );;
     }


     public function getParentTitle()
     {
             return $this->belongsTo(Blog::class, 'parentid' );
     }

    public function getCategoryParentTitle()
     {
             return $this->belongsTo(Categorybeta::class, 'parentid' );
     }



     


     public static function getCategoryListForComposer ($id=0){

        // $catid = trim($id) ;


       $getCategoryList =  $dataviewer = Categorybeta::Where('currentstatus',0)
        ->with('subcategories.subcategories')
        ->get();


        return $getCategoryList ;


     }



     public static function  finalCategoryForPostv2($req){ 

        //The function check id & category id 
        //print_R ($req->all()).'---------<br>-';

        $finalCategory = 0 ;

        $catid = 0 ;
        $categories = 0; 
        $subcategory = 0 ;
        $subsubcategory = 0 ;

        $catid = trim($req->catid) ;
        $categories = trim($req->categories) ; 
        $subcategory = trim($req->subcategory) ;
        $subsubcategory = trim($req->subsubcategory) ;

        //&& (empty($subcategory) OR empty($subsubcategory) OR empty($categories))
      
     
        
        if ($catid != '' && ($categories == '0.0' && $subcategory == '0.0' && $subsubcategory == '0.0') ) {

            $finalCategory = $catid ;
           

            }else if($subsubcategory != '0.0'){ 

            $finalCategory = $subsubcategory ;
          
            } else if ($subcategory != '0.0') {
            
            $finalCategory = $subcategory ;
            
            } else { 

            $finalCategory = $categories ; 
         
        }

            return $finalCategory ;


     }


     public function finalCategoryForPostv1($req){

     $category = 0;
     $subcategoryid = 0;
     $subsubcategoryid = 0;

     $finalcategory = 0 ;

     $category =$req->categories;
     $subcategoryid =$req->subcategory;
     $subsubcategoryid =$req->subsubcategory;


            if($subsubcategoryid != '') {

                $finalcategory = $subsubcategoryid ;

            }elseif ($subcategoryid != '') {

                $finalcategory = $subsubcategoryid ;

            } else {

                    $finalcategory = $category ;

            }

     return $finalcategory ;

     }





    public function getProducts(){

        return $this->belongsToMany(Blog::class);

    }









}