为了账号安全,请及时绑定邮箱和手机立即绑定

在 laravel 中编辑帖子时显示类别

在 laravel 中编辑帖子时显示类别

PHP
POPMUISE 2022-05-27 16:42:44
我正在 Laravel 中创建一个博客。我有两个表 - 帖子和类别。当我想编辑一篇文章时,我遇到了类别问题。我的帖子控制器正在将类别发送到视图,我可以在编辑时看到它们,但我不知道如何在选择选项中设置当前类别。表已连接:public function posts(){    return $this->hasMany('App\Post');}public function category(){    return $this->belongsTo('App\Category');}控制器:public function edit(Post $post){    $categories = Category::all();    return view('admin.posts.edit', compact('post'))->withCategories($categories);}看法:<form action="{{ route('posts.update', ["post" => $post->id]) }}" method="post" enctype="multipart/form-data" class="form-horizontal">            @csrf            <div class="form-body">                <div class="form-group">                    <label class="col-md-3 control-label">Naslov</label>                    <div class="col-md-4">                        <input type="text" name='title' value='{{ old("title", $post->title) }}' class="form-control">                        @if($errors->has('title'))                            <div class='text text-danger'>                                {{ $errors->first('title') }}                            </div>                        @endif                    </div>                </div>如何使类别在选项中显示所选帖子的当前类别,就像我的标题一样?value='{{ old("title", $post->title) }}'
查看完整描述

2 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

要显示当前关联的Category,您可以基于以下内容设置默认的“选定”选项$post->category_id

<option value="{{ $category->id }}" {{ old('category_id', $post->category_id) == $category->id ? 'selected' : '' }}>{{ $category->name }}</option>

这是一个简单的三元组,它根据值设置selected选项之一的属性old(),或者,如果old()未设置,则基于值$post->category_id


查看完整回答
反对 回复 2022-05-27
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

您正在寻找的是元素的selected属性。<option>


@forelse ($categories as $category)

    <option value="{{ $category->id }}" {{ $category->id == old('category_id', $post->category_id) ? 'selected' : '' }}>

        {{ $category->name }}

    </option>

@endforelse

在你的刀片模板中也有一个小的变化,以使用@forelse指令来减少代码。


您还可以稍微更改您的控制器代码:


return view('admin.posts.edit', compact('post', 'categories'));

此外,该laravelcollective/html软件包可能会对您创建表单有很大帮助


查看完整回答
反对 回复 2022-05-27
  • 2 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号