Zachary Dale
Zachary Dale

Reputation: 749

Creating default object from empty value laravel

I've been getting the error Creating default object from empty value laravelI was successful to insert new rows with the following code but today when I tried testing the code it is returning the error pointing on the line $reviw->rating = $request->productrating;.

Structure of my db table is:

id|fname|lname|email|country|title|content|rating|thumbnail|tour_id|status

    public function store(Request $request)
{
    // dd($request->all());
    $this->validate($request, [
        'fname'     => 'required',
        'lname'     =>  'required',
        'email'     => 'required',
        'country'   => 'required',
        'title'   => 'required|min:10',
        'productrating' => 'required',
        'content'   => 'required|min:10'
        ]);        
    // dd($request->productrating);
    $review = new Review;
    $review->fname = $request->fname;
    $review->lname = $request->lname;
    $review->email = $request->email;
    $review->country = $request->country;
    $review->title = $request->title;
    $review->content = $request->content;        
    $reviw->rating = $request->productrating;
    if($request->hasFile('fileupload1')){
        $image = $request->file('fileupload1');
        $filename = 'thumb'.time().'.'.$image->getClientOriginalExtension();
        $location = 'images/client_review/'.$filename;
        Image::make($image)->resize(200, 200)->save($location);
        $review->thumbnail = $location;
    }
    $review->tour_id = $request->product_id;
    $review->status = false;
    $review->save();
    Session::flash('success','Thank You for submitting us your review.');
    return view('public.pages.message-review');        
}

I'm sending following data from the form to save into the table.enter image description here

Upvotes: 1

Views: 3773

Answers (2)

AddWeb Solution Pvt Ltd
AddWeb Solution Pvt Ltd

Reputation: 21681

I think you need to update your code like :

    $review = new Review;
    $review->fname = $request->fname;
    $review->lname = $request->lname;
    $review->email = $request->email;
    $review->country = $request->country;
    $review->title = $request->title;
    $review->content = $request->content;        
    $review->rating = $request->productrating;

Upvotes: 2

Rahul
Rahul

Reputation: 2474

You have an error in $reviw->rating = $request->productrating; change $reviw to $review and it will work

Upvotes: 1

Related Questions