laravel 错误:试图获取非对象的属性 (\show.blade.php)

穆罕默德·罗什迪

我正在用 laravel 制作一个论坛应用程序,但我遇到了这个错误:

试图在 PhpEngine->evaluatePath('C:\xampp\htdocs\fourm\resources\views\discussion\show.blade.php) 处获取非对象的属性(视图:C:\xampp\htdocs\fourm\resources\views\discussion\show.blade.php)('C:\xampp\htdocs\fourm\storage\框架\视图/a2f2c494b8859e0552bfa22c40ceb4065b2efbe5.php', array('__env' => object(Factory), 'app' => object(Application), 'channels' => object(Collection), 'errors' => object(ViewErrorBag) , 'd' => null, 'best_answer' => null)) 在 CompilerEngine.php(第 59 行)

这是我的控制器代码:

public function show($slug)
{
     $discussion = Discussion::where('slug', $slug)->first();
     $best_answer = Reply::where('best_answer', 1)->first();
     return view('discussion.show')->with('d', $discussion)->with('best_answer', $best_answer);
}

这是我的视图代码:

@extends('layouts.app')

@section('content')
    <div class="panel panel-default">
        <div class="panel-heading">
            <img src="{{ $d->user->avatar }}" alt="" width="40px" height="40px">&nbsp;&nbsp;&nbsp;
            <span>{{ $d->user->name }}, <b>( {{ $d->user->points }} )</b></span>
            @if($d->is_being_watch_by_user())
                <a href="{{ route('discussion.unwatch', ['id' => $d->id ]) }}" class="btn btn-default btn-xs pull-right">unwatch</a>
            @else
                <a href="{{ route('discussion.watch', ['id' => $d->id ]) }}" class="btn btn-default btn-xs pull-right">watch</a>
            @endif
        </div>

        <div class="panel-body">
            <h4 class="text-center">
                <b>{{ $d->title }}</b>
            </h4>
            <hr>
            <p class="text-center">
                {{ $d->content }}
            </p>

            <hr>

            @if($best_answer)
                <div class="text-center" style="padding: 40px;">
                    <h3 class="text-center">BEST ANSWER</h3>
                    <div class="panel panel-success">
                        <div class="panel-heading">
                            <img src="{{ $best_answer->user->avatar }}" alt="" width="40px" height="40px">&nbsp;&nbsp;&nbsp;
                            <span>{{ $best_answer->user->name }} <b>( {{ $best_answer->user->points }} )</b></span>
                        </div>

                        <div class="panel-body">
                            {{ $best_answer->content }}
                        </div>
                    </div>
                </div>
            @endif
        </div>
        <div class="panel-footer">
                    <span>
                        {{ $d->replies->count() }} Replies
                    </span>
            <a href="{{ route('channel', ['slug' => $d->channel->slug ]) }}" class="pull-right btn btn-default btn-xs">{{ $d->channel->title }}</a>
        </div>
    </div>

    @foreach($d->replies as $r)
        <div class="panel panel-default">
            <div class="panel-heading">
                <img src="{{ $r->user->avatar }}" alt="" width="40px" height="40px">&nbsp;&nbsp;&nbsp;
                <span>{{ $r->user->name }} <b>( {{ $r->user->points }} )</b></span>
                @if(!$best_answer)
                    @if(Auth::id() == $d->user->id)
                        <a href="{{ route('discussion.best.answer', ['id' => $r->id ]) }}" class="btn btn-xs btn-info pull-right">Mark as best answer</a>
                    @endif
                @endif
            </div>

            <div class="panel-body">
                <p class="text-center">
                    {{ $r->content }}
                </p>
            </div>
            <div class="panel-footer">
                @if($r->is_liked_by_user())
                    <a href="{{ route('reply.unlike', ['id' => $r->id ]) }}" class="btn btn-danger btn-xs">Unlike <span class="badge">{{ $r->likes->count() }}</span></a>
                @else
                    <a href="{{ route('reply.like', ['id' => $r->id ]) }}" class="btn btn-success btn-xs">Like <span class="badge">{{ $r->likes->count() }}</span></a>
                @endif
            </div>
        </div>
    @endforeach

    <div class="panel panel-default">
        <div class="panel-body">
            @if(Auth::check())
                <form action="{{ route('discussion.reply', ['id' => $d->id ]) }}" method="post">
                    {{ csrf_field() }}
                    <div class="form-group">
                        <label for="reply">Leave a reply...</label>
                        <textarea name="reply" id="reply" cols="30" rows="10" class="form-control"></textarea>
                    </div>

                    <div class="form-group">
                        <button class="btn pull-right">Leave a reply</button>
                    </div>
                </form>
            @else

                <div class="text-center">
                    <h2>Sign in to leave a reply</h2>
                </div>
            @endif
        </div>
    </div>
@endsection
海伦·高尔

您正在尝试使用空对象访问属性,这就是为什么会出现“试图获取空对象的属性”之类的错误。

根据我们在评论中的讨论,您null在两个查询中都获得了值,这就是错误的原因!

尝试添加if..else如下条件:

if (!$d) {   
     session()->flash('error', 'Discussion not found.'); 
     return redirect()->back(); 
} else {
    return view('discussion.show')->with('d', $discussion)->with('best_answer', $best_answer);
}

希望这对你有帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel 错误:试图在 show.blade.php 中获取非对象的属性

来自分类Dev

Laravel: ErrorException (E_ERROR) 试图获取非对象的属性(视图:..../show.blade.php)

来自分类Dev

php Laravel试图获取非对象的属性

来自分类Dev

试图获取非对象的属性“ cover_image”(视图:C:\ Users \ BWB \ Documents \ Laravel \ asperablogs \ resources \ views \ blogs \ blogs.blade.php)

来自分类Dev

Laravel-5.8:试图获取非对象的属性“display_name”(视图:D:\xampp\htdocs\MyProject\resources\views\pages\index.blade.php)

来自分类Dev

Laravel急于加载错误“试图在... / BelongsToMany.php中获取非对象的属性”

来自分类Dev

Laravel PHP 4:尝试删除“空”照片会生成“试图获取非对象的属性”错误

来自分类Dev

试图在PHP LARAVEL 5.2中获取非对象的属性

来自分类Dev

试图获取非对象 Laravel php 5.8 的属性“cname”

来自分类Dev

“试图获取非对象的属性”错误PHP

来自分类Dev

PHP错误“试图获取非对象的属性”

来自分类Dev

尝试获取非对象的属性“标题”(视图:C:\ xampp \ htdocs \ lsapp \ resources \ views \ posts \ show.blade.php)

来自分类Dev

试图获取非对象的属性“ id”。我正在尝试在我的app.blade.php中进行自动通知

来自分类Dev

Laravel,Dropzone“试图获取非对象的属性”文件上传错误

来自分类Dev

Laravel关系错误-试图获取非对象的属性

来自分类Dev

试图获取非对象的属性。Laravel中的错误

来自分类Dev

laravel试图获取非对象错误的属性“ id”

来自分类Dev

Laravel关系错误-试图获取非对象的属性

来自分类Dev

试图获取非对象的属性。Laravel中的错误

来自分类Dev

Laravel5.2错误“试图获取非对象的属性”

来自分类Dev

Laravel 5.1中的“试图获取非对象的属性”错误

来自分类Dev

绕过 Laravel 中的“试图获取非对象的属性”错误

来自分类Dev

试图在 laravel 5.4 上获取非对象错误的属性

来自分类Dev

PHP-“注意:试图获取非对象错误的属性”

来自分类Dev

获取文件LARAVEL的BLADE

来自分类Dev

试图获取非对象的属性-Laravel

来自分类Dev

试图获取非对象的属性[laravel 5.2]

来自分类Dev

Laravel Join:试图获取非对象的属性

来自分类Dev

ErrorException试图获取非对象Laravel的属性

Related 相关文章

  1. 1

    Laravel 错误:试图在 show.blade.php 中获取非对象的属性

  2. 2

    Laravel: ErrorException (E_ERROR) 试图获取非对象的属性(视图:..../show.blade.php)

  3. 3

    php Laravel试图获取非对象的属性

  4. 4

    试图获取非对象的属性“ cover_image”(视图:C:\ Users \ BWB \ Documents \ Laravel \ asperablogs \ resources \ views \ blogs \ blogs.blade.php)

  5. 5

    Laravel-5.8:试图获取非对象的属性“display_name”(视图:D:\xampp\htdocs\MyProject\resources\views\pages\index.blade.php)

  6. 6

    Laravel急于加载错误“试图在... / BelongsToMany.php中获取非对象的属性”

  7. 7

    Laravel PHP 4:尝试删除“空”照片会生成“试图获取非对象的属性”错误

  8. 8

    试图在PHP LARAVEL 5.2中获取非对象的属性

  9. 9

    试图获取非对象 Laravel php 5.8 的属性“cname”

  10. 10

    “试图获取非对象的属性”错误PHP

  11. 11

    PHP错误“试图获取非对象的属性”

  12. 12

    尝试获取非对象的属性“标题”(视图:C:\ xampp \ htdocs \ lsapp \ resources \ views \ posts \ show.blade.php)

  13. 13

    试图获取非对象的属性“ id”。我正在尝试在我的app.blade.php中进行自动通知

  14. 14

    Laravel,Dropzone“试图获取非对象的属性”文件上传错误

  15. 15

    Laravel关系错误-试图获取非对象的属性

  16. 16

    试图获取非对象的属性。Laravel中的错误

  17. 17

    laravel试图获取非对象错误的属性“ id”

  18. 18

    Laravel关系错误-试图获取非对象的属性

  19. 19

    试图获取非对象的属性。Laravel中的错误

  20. 20

    Laravel5.2错误“试图获取非对象的属性”

  21. 21

    Laravel 5.1中的“试图获取非对象的属性”错误

  22. 22

    绕过 Laravel 中的“试图获取非对象的属性”错误

  23. 23

    试图在 laravel 5.4 上获取非对象错误的属性

  24. 24

    PHP-“注意:试图获取非对象错误的属性”

  25. 25

    获取文件LARAVEL的BLADE

  26. 26

    试图获取非对象的属性-Laravel

  27. 27

    试图获取非对象的属性[laravel 5.2]

  28. 28

    Laravel Join:试图获取非对象的属性

  29. 29

    ErrorException试图获取非对象Laravel的属性

热门标签

归档