以旧值显示 Blade Laravel 中不同输入字段的数据库中的用户现有数据

当我在编辑之前尝试在输入字段中显示现有数据时,收到此错误“尝试获取非对象的属性“帖子”(视图:E:\Projects\htdocs\zipad\resources\views\posts\edit.blade.php)”但是,当我尝试下面的代码时,它工作得很好


Blade 中的工作代码

    @foreach($user->posts as $post)

<div class="col-4"> {{$post->about }}

</div>

@endforeach

编辑.blade.php

    <form action="/p" enctype="multipart/form-data" method="post">

@csrf


<div class="col-8 offset-2">

<div class="form-group row">

                            <label for="about" class="col-md-4 col-form-label text-md-right">{{ __(' post about') }}</label>


                            <div class="col-md-6">

                                <input id="about" type="text" class="form-control @error('about') is-invalid @enderror" name="about"  value="{{ old('about') ?? $user->posts->about }}" required autocomplete="about" autofocus>


                                @error('about')

                                    <span class="invalid-feedback" role="alert">

                                        <strong>{{ $message }}</strong>

                                    </span>

                                @enderror

                            </div>

                            <label for="image" class="col-md-4 col-form-label text-md-right">{{ __(' post image') }}</label>


                            <input type="file", class="form-control-file" id ="image" name="image">

                            @error('image')

                                    <div class="invalid-feedback" role="alert">

                                        <strong>{{ $message }}</strong> </div>

                                    

                                @enderror

                                <div class="btn btn-primary">

                                <button> add img post</button>

                                </div>

                        </div>



</div>

    


</form>

后置控制器

public function edit(User $user)

{

    return view('posts.edit', compact('user'));

}


HUX布斯
浏览 135回答 1
1回答

蝴蝶不菲

当您迭代时,$user->posts它会起作用,因为您正在访问每个帖子并渲染它。但在您posts.edit使用时$user->posts->about,它不知道哪篇文章是关于哪篇文章的。解决方案: 您必须像您提供的工作代码一样迭代该用户的所有帖子。.....@foreach($user->posts as $post)<label for="about" class="col-md-4 col-form-label text-md-right">{{ __(' post about') }}</label><div class="col-md-6">&nbsp; &nbsp; <input id="about" type="text" class="form-control @error('about') is-invalid&nbsp;&nbsp; &nbsp; @enderror" name="about"&nbsp; value="{{ old('about') ?? $post->about }}"&nbsp;&nbsp; &nbsp; required autocomplete="about" autofocus>&nbsp; &nbsp; @error('about')&nbsp; &nbsp; <span class="invalid-feedback" role="alert">&nbsp; &nbsp; <strong>{{ $message }}</strong>&nbsp; &nbsp; </span>&nbsp; &nbsp; @enderror</div>@endforeach....
打开App,查看更多内容
随时随地看视频慕课网APP