【发布时间】:2017-11-30 09:15:55
【问题描述】:
我正在尝试为 laravel 编写编辑路径,但由于某种原因不断收到错误“尝试获取非对象 laravel 的属性”。 Create 控制器工作正常,但是当我使用 controller@update 路由时,我不断收到此错误
用于添加事件的我的控制器:(更新)
public function update(Request $request, $id)
{
//create event
$my_user = my::find($id);
$my_user->programme = $request->input('programme');
$my_user->goal1 = $request->input('goal1');
$my_user->goal2 = $request->input('goal2');
$my_user->goal3 = $request->input('goal3');
$my_user->goal4 = $request->input('goal4');
$my_user->goal5 = $request->input('goal5');
$my_user->user_id = auth()->user()->id;
$my_user->save();
return redirect('/home')->with('success','Event Created');
}
编辑页面
@extends('layouts.app')
@section('content')
<div class="container">
<h1>Edit Post</h1>
{!! Form::open(['action' => ['myUserController@update', $my_user], 'method' => 'POST']) !!}
<div class="form-group">
{{Form::label('title', 'Event Name')}}
{{Form::text('goal1', $my_user->goal1, ['class' => 'form-control', 'placeholder' => 'Goal One'])}}
</div>
{{Form::hidden('_method','PUT')}}
{{Form::submit('Submit', ['class'=>'btn btn-primary'])}}
{!! Form::close() !!}
</div>
@endsection
【问题讨论】:
-
验证您确实在 $my_user = my::find($id); 中检索用户你可以试试 my::findOrFail($id);看看有没有什么东西出来。
-
您没有将
$my_user变量返回到您的视图中,这就是您的问题的原因。 -
$my_user = my::find($id); 之后 dd($my_user) 的输出是什么? ???
-
@joem 那么你没有从你的查询中得到任何东西。使用 dd($id) 查看您的 $id 是否正确传入。如果不是,这可能是您如何定义路由名称的路由问题。
-
@joe m 你能更新你的问题并在控制器文件中提供你的 get 和 post 方法的完整实现吗??