【问题标题】:Laravel - Adding a country drop down list to Jetstream profileLaravel - 将国家/地区下拉列表添加到 Jetstream 配置文件
【发布时间】:2021-12-15 15:57:41
【问题描述】:

我对 MVC 开发和 Laravel 非常陌生。我尝试通过大量阅读和观看教程来学习。我目前正在开发一个小型 Laravel 项目并安装了 Jetstream/Livewire 脚手架。 我希望用户能够在他的个人资料页面(app.test/user/profile)上选择他们的国家。 我设法添加了额外的输入字段,但不知道如果我想用我的数据库数据填充我的下拉列表。

到目前为止,我已经成功地创建了我的国家/地区表并使用播种器文件对其进行播种。 我可以找到必须添加选择字段的视图。 然而,到了这里,我完全被困住了……我怎么能从数据库中检索我的国家列表,因为我看不到/弄清楚我的模型、视图和路线应该如何相互作用。我也没有找到任何控制器。

到目前为止,我有以下模型:Country.php

<?php
  
namespace App\Models;
  
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
  
class Country extends Model
{
    use HasFactory;
  
    protected $fillable = [
        'name', 'code'
    ];
}

对不起,如果这是一个愚蠢的问题,并感谢您的帮助

【问题讨论】:

    标签: php laravel jetstream


    【解决方案1】:

    实际上,在挖掘时我可以找到我的问题的答案:

      <div wire:model.defer="state.country_id" class="col-span-6 sm:col-span-4">
        <x-jet-label for="country_id" value="{{ __('Country') }}" />
        <select name="country_id" class="px-3 py-2 block mt-1 w-full border-gray-300 focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 rounded-md shadow-sm">
            
            @foreach (\App\Models\Country::all() as $country)
                <option value="{{  $country->id }}"
                @if ($country->id == Auth::user()->country_id)
                    selected="selected"                                   
                @endif
                >{{ $country->name }}</option>
            @endforeach
        </select>
        <x-jet-input-error for="country_id" class="mt-2" />
    </div>
    

    【讨论】:

    • 你能否提供更多关于你的代码的作用以及它如何帮助解决问题的解释?
    猜你喜欢
    • 1970-01-01
    • 2017-03-06
    • 2021-06-23
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多