【问题标题】:Trying to get property 'POST /employee HTTP/1.1试图获取属性'POST /employee HTTP/1.1
【发布时间】:2018-10-16 13:11:25
【问题描述】:

我创建了一个 laravel 应用程序来存储员工数据,但是当我提交表单时它给了我以下错误,我应该怎么做才能避免这个问题。谢谢

这是我的 EmployeeController 存储方法

    public function store(Request $request)
{
        $this->validate($request,array(
            'lastname'=>'required|max:60',
            'firstname'=>'required|max:60',
            'middlename'=>'required|max:60',
            'address'=>'required|max:120',
            'NIC'=>'required|max:10',
            'city_id'=>'required|max:60',
            'state_id'=>'required|max:60',
            'mobile'=>'required|max:10',
            'email'=>'required|max:60',
            'postal_code'=>'required|max:10',
            'birthdate'=>'required|date',
            'date_hired'=>'required|date',
            'department_id'=>'required|max:10',


    ));
    $employee = new Employee();
    $employee->lastname=$request->lastname;
    $employee->firstname=$request->firstname;
    $employee->middlename=$request->middlename;
    $employee->address=$request->address;
    $employee->NIC=$request->NIC;
    $employee->city_id=$request->city_id;
    $employee->state_id=$request->state_id;
    $employee->mobile=$request->mobile;
    $employee->email->$request->email;
    $employee->postal_code=$request->postal_code;
    $employee->birthdate=$request->birthdate;
    $employee->date_hired=$request->date_hired;
    $employee->department_id=$request->department_id;

    $employee->save();
}

表格标题

{!! Form::open(['route'=>'employee.store','class'=>'form-horizontal p-t-20']) !!}

我用于控制器的类

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Department;
use Illuminate\Support\Facades\DB;
use App\Employee;

【问题讨论】:

  • 啊..我很愚蠢。您需要验证 $request->all() 而不是 $request
  • 命名空间 App\Http\Controllers;使用 Illuminate\Http\Request;使用应用\部门;使用 Illuminate\Support\Facades\DB;使用应用\员工;

标签: php laravel forms post


【解决方案1】:

您的代码中有错误。

   $employee->email->$request->email;

应该是这样的,

   $employee->email = $request->email;

【讨论】:

    【解决方案2】:

    从外观上看,您正在尝试验证 $request 变量本身。因此Trying to get property POST 是不是应该...

     $request->validate(array(
            'lastname'=>'required|max:60',
            'firstname'=>'required|max:60',
            'middlename'=>'required|max:60',
            'address'=>'required|max:120',
            'NIC'=>'required|max:10',
            'city_id'=>'required|max:60',
            'state_id'=>'required|max:60',
            'mobile'=>'required|max:10',
            'email'=>'required|max:60',
            'postal_code'=>'required|max:10',
            'birthdate'=>'required|date',
            'date_hired'=>'required|date',
            'department_id'=>'required|max:10',
    ));
    

    【讨论】:

    • 这不是问题所在。这两种方法都是正确的。
    • 是的,我认为无需担心验证,我尝试过没有验证但仍然遇到同样的错误
    • 是的,很抱歉,我不是 Laravel 开发人员,我刚刚看到 validate 方法中的 $request var 并认为它看起来不正确。快速谷歌搜索显示它是有效的
    【解决方案3】:

    ErrorException: 试图获取属性 'POST /Addpatients HTTP/1.1

    这个错误是由于

    当你用任何方法定义你的变量时请检查你没有定义如下,因为它给出了错误 $patients->address->$request->input('address');

    解决方法如下 $patients->address=$request->input('address');

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多