Giacomo Sarrocco
Giacomo Sarrocco

Reputation: 431

Posting data return blank with a Laravel controller

I have a problem posting data in Laravel 5. I've done a page that post stuff on a controller that would create a new row on a database, according to Eloquent class. But when I post that, I receive a blank page and nothing works. This is my controller, focused on the affected class:

<?php namespace App\Http\Controllers;

use App\T_subject;
use App\T_reservation;
use Date;
use Request;
use Config;
use Validator;
use Auth;

class TutoringController extends Controller {


    public function reserve(Request $request)
    {

        $reservation = new T_reservation;
        $reservation->user_id = Auth::user()->id;
        $reservation->subject_code = $request->input('subject');
        $reservation->date = $request->input('date');
        $reservation->topic = $request->input('topic');

        $reservation->save();

        return redirect('/tutoring/view/'.$request->input('subject'));

    }
}

This is my Eloquent model:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class T_reservation extends Model {

    protected $table = 't_reservations';

    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

And my routes file:

<?php

Route::post('tutoring/reserve', ['middleware' => 'auth', 'uses' => 'TutoringController@reserve']);

Where's the problem?

Upvotes: 0

Views: 1096

Answers (1)

KazikM
KazikM

Reputation: 1349

In your routes file there is no definied route for your final redirection: '/tutoring/view/'.$request->input('subject').

Also, your model have no fillable property, which should list properties for which you can make a mass assignment. For instance something like this:
protected $fillable = ['user_id', 'subject_code', 'date', 'topic'];

Upvotes: 1

Related Questions