ErrorException Trying to get property of non-object 我只是想进入我的编辑页面,这个错误不会让我

Posted

技术标签:

【中文标题】ErrorException Trying to get property of non-object 我只是想进入我的编辑页面,这个错误不会让我【英文标题】:ErrorException Trying to get property of non-object I'm just trying to get to my edit page this error wont let me 【发布时间】:2017-11-26 21:32:56 【问题描述】:

在我的 home.blade.php 视图上

<a href=" route('posts.edit') " class="btn btn-info">&nbsp;&nbsp;Edit&nbsp;&nbsp;&nbsp;</a>

我只是想在单击此链接时查看编辑页面,但出现 ErrorException 可能是什么问题?

这是我的 PostController

public function edit($id)
    
        //
        $post = Post::find($id);
        return view('posts.edit')->withPost($post);
    

这是我的 web.php,我的所有路线都在其中

Route::get('posts/home', function () 
    return view('posts/home');
);

Route::get('about', function () 
    return view('about');
);

Route::get('contact', function () 
    return view('contact');
);

Route::get('posts', function () 
    return view('posts/index');
);

Route::get('login', function () 
    return view('login');
);

Route::resource('posts', 'PostController');
//Route::post('posts', 'PostController@store');
Route::post('posts', 'PostController@store')->name('insert');
Route::post('posts', 'PostController@update')->name('update');
Route::get('posts/create', 'PostController@create');

【问题讨论】:

请添加错误信息。您试图访问不存在的对象的属性 您的编辑页面是什么样的? @Sagar Gautam Trying to get property of non-object (View: C:\xampp\htdocs\test_project\resources\views\posts\home.blade.php) 这是你想要的检查? 可以分享一下你的路由编码和控制器功能吗? 请添加编辑路线 【参考方案1】:

我觉得你可以试试这个

<a href=" route('posts.edit', [$posts->id]) " class="btn btn-info">&nbsp;&nbsp;Edit&nbsp;&nbsp;&nbsp;</a>

希望对你有帮助

【讨论】:

我不认为你需要方括号,但应该还是可以的[$posts-&gt;id]) -> $posts-&gt;id)【参考方案2】:

如果您执行编辑数据 你的路线是这样的:-

Route::match(['get', 'post'], '/post/edit/id', 'PostController@edit'); 

现在你的函数看起来像:-

public function edit($id=null)
    $post = Post::find($id);
    return view('posts.edit')->with(compact('post'));

现在你的锚标记

<a href=" url('/post/edit/'.$post->id) " class="btn btn-info">&nbsp;&nbsp;Edit&nbsp;&nbsp;&nbsp;</a>

您可以在上面的示例中实现您的情况。 希望对你有帮助

【讨论】:

谢谢,但我仍然得到同样的错误 ErrorException Trying to get property of non-object 你有没有改变路线并在你的函数中打印id 我遵循了你的所有指示,但我仍然遇到同样的错误,抱歉 我添加了这个 Route::match(['get', 'post'], '/post/edit/id', 'PostController@edit'); 你做错了什么?你能分享你的刀片文件吗【参考方案3】:

查看您的路线名称,您可能缺少一个参数来标识要编辑的帖子。 类似的东西;

<a href=" route('posts.edit', ['id'=>$id])">foo</a>

【讨论】:

还是一样的错误ErrorException Trying to get property of non-object

以上是关于ErrorException Trying to get property of non-object 我只是想进入我的编辑页面,这个错误不会让我的主要内容,如果未能解决你的问题,请参考以下文章

如何解决错误“[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such fil

“Unable to locate package” while trying to install packages with APT

“Unable to locate package” while trying to install packages with APT

Fatal error occurred while trying to sysprep the..

emulator: Trying to vcpu execute at eip:6d4053

Trying to get property of non-object