Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Kanchan186's avatar

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_PARSE) syntax error, unexpected '$subcategory' (T_VARIABLE)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\product;
use App\category;
use App\subcategory;
use File;

class SubcategoryController extends CategoryController
{
     public function addstg()
        {
        $product=product::get();
        $category=category::get();
        $subcategory=subcategory::get();

        return view('addstg',compact('product','category','subcategory'));
        }


 public function store2(Request $request)
      {
         //dd('hi');
       // dd(request('image'));
        //dd($request->all());

           if($request->hasFile('s_image'))
           {
           // dd('hi');

            $file = $request->file('s_image');

            $destinationPath =public_path()."/sub_img";

            $filename = $file->getClientOriginalName();

            if(!File::exists($destinationPath))
             {
                File::makeDirectory($destinationPath, $mode = 0777, true);
                $file->move($destinationPath, $filename);
             }
            else
              {
                $file->move($destinationPath, $filename);
                }
            

           // echo  $filename;exit;
            }         

subcategory::create([

  'p_id' =>request('p_id'),
  'c_id' =>request('c_id'),
's_name' =>request('s_name'),
's_image' =>$filename 
]);

  $product=product::get();
  $category=category::get();
  $subcategory=subcategory::get();

return redirect('viewsub');

}     




public function show2()
                 {

                  $product=product::get();
                  $category=category::get();
                  $subcategory=subcategory::get();

                  //dd($result->all())

                 

                  $subcategory=subcategory::join('products','subcategories.p_id','=','products.p_id')
                  ->join('categories','subcategories.c_id','=','categories.c_id')->get();
                    

                  return view('subview',compact('category','product','subcategory'));

                    return redirect('subview');
                  } 




}
0 likes
6 replies
tisuchi's avatar

@kanchan186

There should be a line number in this test Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_PARSE) syntax error, unexpected '$subcategory' (T_VARIABLE).

Show the line number.

1 like
tisuchi's avatar

@kanchan186

I think the line of 83 should be like this-

$subcategory= \DB::table('subcategories')
          ->join('products','subcategories.p_id','=','products.p_id')
          ->join('categories','subcategories.c_id','=','categories.c_id')
          ->get();

You need to use DB to join tables instead of eloquent.

I just reindent the whole code because it's not readable. It should be like this-

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\product;
use App\category;
use App\subcategory;
use File;

class SubcategoryController extends CategoryController {
    
    public function addstg() {
        $product = product::get();
        $category = category::get();
        $subcategory = subcategory::get();
        return view('addstg', compact('product', 'category', 'subcategory'));
    }
    
    public function store2(Request $request) {
        if ($request->hasFile('s_image')) {
            $file = $request->file('s_image');
            $destinationPath = public_path() . "/sub_img";
            $filename = $file->getClientOriginalName();

            if (!File::exists($destinationPath)) {
                File::makeDirectory($destinationPath, $mode = 0777, true);
                $file->move($destinationPath, $filename);
            } else {
                $file->move($destinationPath, $filename);
            }
        }

        subcategory::create([
          'p_id' => request('p_id'), 
          'c_id' => request('c_id'), 
          's_name' => request('s_name'), 
          's_image' => $filename
        ]);

        $product = product::get();
        $category = category::get();
        $subcategory = subcategory::get();

        return redirect('viewsub');
    }

    public function show2() {
        $product = product::get();
        $category = category::get();
        $subcategory = subcategory::get();

        $subcategory= \DB::table('subcategories')
          ->join('products','subcategories.p_id','=','products.p_id')
          ->join('categories','subcategories.c_id','=','categories.c_id')
          ->get();

        return view('subview', compact('category', 'product', 'subcategory'));
        return redirect('subview');
    }
}

1 like
Kanchan186's avatar

SubcategoryController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\product;
use App\category;
use App\subcategory;
use File;
use DB;

class SubcategoryController extends CategoryController
{
     public function addstg()
        {
        $product=product::get();
        $category=category::get();
        $subcategory=subcategory::get();

        return view('addstg',compact('product','category','subcategory'));
        }


 public function store2(Request $request)
      {
         //dd('hi');
       // dd(request('image'));
        //dd($request->all());

           if($request->hasFile('s_image'))
           {
           // dd('hi');

            $file = $request->file('s_image');

            $destinationPath =public_path()."/sub_img";

            $filename = $file->getClientOriginalName();

            if(!File::exists($destinationPath))
             {
                File::makeDirectory($destinationPath, $mode = 0777, true);
                $file->move($destinationPath, $filename);
             }
            else
              {
                $file->move($destinationPath, $filename);
                }
            

           // echo  $filename;exit;
            }         

subcategory::create([

  'p_id' =>request('p_id'),
  'c_id' =>request('c_id'),
's_name' =>request('s_name'),
's_image' =>$filename 
]);

  $product=product::get();
  $category=category::get();
  $subcategory=subcategory::get();

return redirect('viewsub');

}     




public function show2()
                 {

                  $product=product::get();
                  $category=category::get();
                  $subcategory=subcategory::get();

                  dd($result->all())

                 

                 $subcategory= \DB::table('subcategories')
          ->join('products','subcategories.p_id','=','products.p_id')
          ->join('categories','subcategories.c_id','=','categories.c_id')
          ->get();
                    

                  return view('subview',compact('category','product','subcategory'));

                    return redirect('subview');
                  } 




}


Kanchan186's avatar

addstg.blade.php

<body>
        <div class="flex-center position-ref full-height">
                         
        
            <div class="content">
               
                <form method="post" action="{{url('/')}}/store2" enctype="multipart/form-data">
                        {{csrf_field()}}
                <input type="hidden" name="MAX_FILE_SIZE" value="10485760">


                     <table border="1" class="table table-striped">
                        
                    <tr><th>choose product</th>
                        <th> choose Product Category</th>
                        <th>Enter product Sub-Category</th>
                        <th>sub category Image</th></tr>   
                            
                        <tr>
                         <td><select name="p_id" class="form-control">
                           @foreach($product as $prod)
                            <option value ="{{$prod->p_id}}">{{$prod->p_name}}</option>
                           @endforeach
                        </select></td> 

                         <td><select name="c_id" class="form-control">
                            @foreach($category as $cat)
                            <option value ="{{$cat->c_id}}">{{$cat->c_name}}</option>
                           @endforeach
                        </select></td> 

                        <td><input type="text" name="s_name" ></td>
                        <td><input type="file" name="s_image" ></td>
                        <td><input type="submit" name=""></td></tr>
                        </table>



                 



                  
                </form>

               <br><hr>
               
            </div>
         
        </div>
    </body>

Please or to participate in this conversation.