如何进行更新下拉列表以及如何在 laravel 中为验证目的制作选定的值?



在我的视图方法中,我选择的下拉列表如下。我的问题是:-

  1. 如果使用下拉字段,如何从数据库中检索数据?(更新方法(

  2. 如何选择下拉列表?(验证和显示方法(

    <div>
    <x-label for="type" :value="__('Choose pizza type:')" />
    <select name="type" id="type" class="form-control">
    <option selected disabled>Please choose</option>
    <option value="Chicken" {{ $value->type =="Chicken" ? 'selected' : '' }}>Chicken</option>
    <option value="Seafood" {{ $value->type =="Seafood" ? 'selected' : '' }}>Seafood</option>
    <option value="Beef" {{ $value->type =="Beef" ? 'selected' : '' }}>Beef</option>
    <option value="Prawn" {{ $value->type =="Prawn" ? 'selected' : '' }}>Prawn</option>
    <option value="Tuna" {{ $value->type =="Tuna" ? 'selected' : '' }}>Tuna</option>
    </select>
    <span style="color:red">@error('type'){{ $message }} @enderror</span>
    </div>
    

我得到一个错误,如下所示:-

尝试读取属性";类型";在字符串上(视图:/home/warrant/Projects/firstBlog/resources/views/pizzas/index.blade.php(

要发送下拉变量,必须将其作为数组发送

  • HTML代码:
<div>
<x-label for="type" :value="__('Choose pizza type:')" />
<select name="type[]" id="type" class="form-control">
<option selected disabled>Please choose</option>
<option value="Chicken" {{ $value->type =="Chicken" ? 'selected' : '' }}>Chicken</option>
<option value="Seafood" {{ $value->type =="Seafood" ? 'selected' : '' }}>Seafood</option>
<option value="Beef" {{ $value->type =="Beef" ? 'selected' : '' }}>Beef</option>
<option value="Prawn" {{ $value->type =="Prawn" ? 'selected' : '' }}>Prawn</option>
<option value="Tuna" {{ $value->type =="Tuna" ? 'selected' : '' }}>Tuna</option>
</select>
<span style="color:red">@error('type'){{ $message }} @enderror</span>
</div>
  • 验证(在控制器中(:
$this->validate($request, [
'type' => 'required|...'
]);

我这样做是正确的:-

<div>
<x-label for="type" :value="__('Choose pizza type:')" />
<select name="type" id="type" class="form-control">
<option selected disabled>Please choose</option>
<option value="Chicken"{{ $Info->type =="Chicken" ? 'selected':''}}>Chicken</option>
<option value="Seafood"{{ $Info->type =="Seafood" ? 'selected':''}}>Seafood</option>
<option value="Beef"{{ $Info->type =="Beef" ? 'selected':''}}>Beef</option>
<option value="Prawn"{{ $Info->type =="Prawn" ? 'selected':''}}>Prawn</option>
<option value="Tuna"{{ $Info->type =="Tuna" ? 'selected':''}}>Tuna</option>
</select>
<span style="color:red">@error('type'){{ $message }} @enderror</span>
</div>

以下是我的迁移表:-

public function up()
{
Schema::create('pizzas', function (Blueprint $table) {
$table->id();
$table->timestamp('updated_at')->useCurrent();
$table->timestamp('created_at')->useCurrent();
$table->string('name');
$table->string('type');
$table->string('base');
});
}

最新更新