Page 1 of 1

serialization of 'closure not allowed' Error

Posted: Sat Sep 26, 2015 7:42 pm
by gautamz07
hey guys , below is the code from my product view:

Code: Select all

{{ Form::open(array('url'=>'admin/products/create' , 'files'=>true)) }}
          <p>
            {{ Form::label('category_id' , 'Category') }}
            {{ Form::select('category_id' , $categories) }}
          </p>
          <p>
            {{ Form::label('title') }}
            {{ Form::text('title') }}
          </p>
          <p>
            {{ Form::label('description') }}
            {{ Form::textarea('description') }}
          </p>
          <p>
            {{ Form::label('height') }}
            {{ Form::text('height' , null , array('class'=>'form-price')) }}
          </p>
          <p>
              {{ Form::label('width') }}
              {{ Form::text('width' , null , array('class'=>'form-price')) }}
            <!--{{ Form::label('image' , 'Choose an image') }}
            {{ Form::file('image') }}-->
          </p>
           <p>
                {{ Form::label('length') }}
                {{ Form::text('length' , null , array('class'=>'form-price')) }}
           </p>
            <p>
                {{ Form::label('color') }}
                {{ Form::text('color' , null , array('class'=>'form-price')) }}
            </p>
            <p>
                {{ Form::label('material') }}
                {{ Form::text('material' , null , array('class'=>'form-price')) }}
            </p>
          {{ Form::submit('Create Product' , array('class'=>'secondary-cart-btn')) }}
          {{ Form::close() }}
and below is the code from my product controller:

Code: Select all

<?php

/**
 *
 */
class ProductsController extends BaseController {

  public function __construct() {
    $this->beforeFilter('csrf' , array('on'=>'post'));
  }

  public function getIndex() {


    /* NOTE :: the categories array is being
    created so that the products index page
    can have access to all the availability
    categories */

     $categories = array();

     foreach (Category::all() as $category) {
        $categories[$category->id] = $category->name;
     }

      return View::make('products.index')
        ->with('products' , Product::all())
        ->with('categories' , $categories);

  }

  public function postCreate() {

    $validator = Validator::make(Input::all() , Product::$rules);

    if($validator->passes()) {
      $product = new Product;
                
      $product->category_id = Input::get('category_id');
      $product->title = Input::get('title');
      $product->description = Input::get('description');
      $product->height = Input::get('height');
      $product->width = Input::get('width');
      $product->length = Input::get('length');
      $product->color = Input::get('color');
      $product->material = Input::get('material');


      /* code for saving the image */
     /* $image = Input::file('image');
      $filename = date('Y-m-d-H-i-s')."-".$image->getClientOriginalName();
      $path = public_path('img/products/' .$filename);
      Image::make($image->getRealPath())->resize(468, 249)->save($path);
      $product->image = 'img/products/'.$filename; */
      /*end of code for saving the image */

      $product->save();

      return Redirect::to('admin/products/index')
         ->with('message' , 'Product created');
    }

    return Redirect::to('admin/products/index')
      ->with('message' , 'something went wrong')
      ->withError($validator)
      ->withInput();
  }

  public function postDestroy() {

      $product = Product::find(Input::get('id'));
      if ($product) {
        $product->delete();
        return Redirect::to('admin/products/index')
        ->with('message' , 'product has been deleted');
      }

      return Redirect::to('admin/products/index')
        ->with('message' , 'something went wrong , Please try again');
  }
}
?>
Now when i fill the values in the form and click on submit i get a error as follows :

http://i.imgur.com/yUL0bwf.jpg ,

serialization of 'closure not allowed' , on googling a bit i found the following helpful thread:

http://stackoverflow.com/questions/2345 ... ed-laravel ,

the accepted solution is not applicable to me and i tried the solution in the second answer and i still have the same error.

I still don't understand what could be the cause of this error or what am i doing wrong ? can anybody explain ?

Re: serialization of 'closure not allowed' Error

Posted: Mon Sep 28, 2015 8:51 pm
by Weirdan
the accepted solution is not applicable to me
I think it actually is. The expected method name seems to be withErrors(), but you're using withError() (note the plurality).