通过邮寄路线发布数据 - 页面已过期

时间:2018-05-03 16:46:45

标签: laravel eloquent blade laravel-5.5

我试图使用Laravel将数据发布到我的数据库,但我似乎无法这样做。邮政路线发送到过期的页面。

这是路线

Route::post('/expenses', 'PropertyExpenseController@store')->middleware('auth');

这是创建和存储函数,它们呈现表单并处理表单。

public function create($id){
    $property = PropertyAdvert::where('id', $id)->first();
    return view('/pages/expenses/create', compact('property'));
  }

  public function store(Request $request){
    $PropertyExpenses = PropertyExpenses::create([
      "property_id"         => $request->property_id,
      "user_id"             => Auth::user()->id,
      "expenseDescription"  => $request->description,
      "cost"                => $request->amount,
      "date"                => $request->date,
      "category"            => $request->category
    ]);  

    return "Expense Log";
  }

这是加载表单的视图页面。所有数据都通过输入元素上的名称在控制器中获得。

<form method="POST" action="/expenses">
    <span name="property_id" class="text-muted">{{$property->id}}</span>
      <div class="row mt-4 justify-content-center">
        <div class="col-md-6">
          <label class="" for"description">Expense Description<label>
        </div>
      </div>
      <div class="row form-group justify-content-center">
        <div class="col-md-4">
          <input class="form-control " type="text" name="description">
        </div>
      </div>

      <div class="row mt-4 justify-content-center">
        <div class="col-md-6">
          <label for"amount">Amount<label>
        </div>
      </div>
      <div class="row form-group justify-content-center">
        <div class="col-md-4 input-group">
          <span class="input-group-addon mr-1 mt-1">€</span>
          <input class="form-control" type="text" name="amount">
        </div>
      </div>

      <div class="row mt-4 justify-content-center">
        <div class="col-md-6">
          <label for"category">Category<label>
        </div>
      </div>
      <div class="row form-group justify-content-center">
        <div class="col-md-4">
          <select class="form-control" id="category" name="category">
            <option>Mortgage Payment</option>
            <option>Maintainence</option>
            <option>Management Fee</option>
          </select>
        </div>
      </div>

      <div class="row mt-4 justify-content-center">
        <div class="col-md-6">
          <label for"description">Date<label>
        </div>
      </div>
      <div class="row form-group justify-content-center">
        <div class="col-md-4">
          <input class="form-control" type="date" name="date">
        </div>
      </div>
      <input type="submit" class="btn btn-primary" value="Log Expense">
    </form>

这是带有可填充数组的模型。

class PropertyExpense extends Model
{
    protected $fillable = ['property_id'. 'user_id', 'expenseDescription', 'cost', 'date', 'category'];

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

1 个答案:

答案 0 :(得分:1)

在您的表单中,您需要一个CSRF令牌字段。

<input type="hidden" name="_token" value="{{ csrf_token() }}">

了解更多here