尝试获取非对象的属性“名称”时出错

时间:2019-12-20 16:00:58

标签: laravel

嗨,我正在尝试显示存储在数据库中的name的值,但是出现此错误,有人可以指导我如何纠正我的错误。

  <form action="Store-data" method="POST">
         @csrf
         <div class="form-group my-2">

         <input type="text" name="name"  value="{{ $Task ->name }}"> 
     <div class="form-group my-2">
     <input type="email" name="email" placeholder="Enter your email"  value="{{ $Task ->email }}" > 
     <div class="form-group my-2 text-center">

        <button type="submit" class="btn btn-success"> Add user</button>

     </div>
 </div>
 </div>
     </form> 

这是我的编辑控制器

 public function edit($Taskid)
    {
        //

        $Edit= Superior::find($Taskid);

        return view('Myview.edit')->with('Task','$Edit');


    }

这是我的修改路线

Route::get('Superior/{Task}/edit','SuperiorController@edit');

我将Task用作键,但这给了我一个错误 我也尝试过,但没有成功

{{$Task['name']}}

3 个答案:

答案 0 :(得分:0)

您应该删除包裹'的{​​{1}}。

$Edit

答案 1 :(得分:0)

像这样更改您的代码。

表格代码

loc_t

路线

<form action="Store-data" method="POST">
    @csrf
    <div class="form-group my-2">
        <input type="text" name="name"  value="{{isset($Edit) ? $Edit->name : '' }}"> 
        <div class="form-group my-2">
            <input type="email" name="email" placeholder="Enter your email"  value="{{ isset($Edit) ? $Edit->email : '' }}"> 
            <div class="form-group my-2 text-center">
                <button type="submit" class="btn btn-success"> Add user</button>
            </div>
        </div>
    </div>
</form>

控制器代码

Route::get('Superior/edit/{id}','SuperiorController@edit');

希望它能解决问题

答案 2 :(得分:0)

创建这样的函数。如果您的数据库列中为Taskid

public function edit(Request $Request, $Taskid)
{
    //

    $Edit= Superior::where('Taskid', $Taskid)->first();

    return view('Myview.edit', compact(Edit));

}

在您的html中,它会这样

{{ $Edit->name }}

在您的路线上

Route::get('Superior/{Taskid}/edit','SuperiorController@edit');