【问题标题】:Laravel - Dropdown Pluck Data Cannot Get the String ValueLaravel - 下拉提取数据无法获取字符串值
【发布时间】:2025-12-10 07:00:02
【问题描述】:

我有一个下拉列表,下拉列表的值在另一个表上 .. 我把它拔了,所以在这里我要显示 1 而不是 Sample Client 3 下拉菜单的值.. 帮助谢谢。

在这里查看我的下拉列表及其值

查看我的下拉菜单,当我选择 Sample Client 时,它会插入 0 而不是 ACTUAL 字符串,这是为什么呢?请看我的代码谢谢

我的下拉输入

 {{Form::select('clients', $clients ,null,['class' => 'form-control', 'placeholder' => 'Select Movie Provider...'])}}

我的控制器

这里是创建函数

$clients = Client::all()->pluck('client_name');
    return view('admin.movies.create', compact('clients'));

查看索引上,我在这里 foreach 循环

 <td>{{$movie->movie_provider}}</td>

和我的数据库模型关系

客户方面

    class Client extends Model
{
     use SoftDeletes;

     protected $dates = ['deleted_at'];
     // Table Name
     protected $table = 'clients';
     // Primary Key
     public $primaryKey = 'id';
     // Timestamps
     public $timestamps = true;

电影方面

     public function movies(){
        return $this->hasMany('App\Movie');
     }
}

    class Movie extends Model
{
    // Table Name
    protected $table = 'movies';
    // Primary Key
    public $primaryKey = 'id';
    // Timestamps
    public $timestamps = true;

    public function clients(){
        return $this->belongsTo('App\Client');
     }
}

【问题讨论】:

    标签: php mysql laravel laravel-5 eloquent


    【解决方案1】:

    您可能需要明确说明值和标签。使您的采摘数据如下所示:

    [
        'Sample client' => 'Sample client',
        'Sample client 3' => 'Sample client 3',
    ]
    

    通过做

    // pluck(value, key)
    $clients = Client::all()->pluck('client_name', 'client_name');
    

    文档:https://laravelcollective.com/docs/master/html#drop-down-lists

    【讨论】:

    • 哦,对了! :/ .. 就像一个数组,我不熟悉 laravel 中的 Pluck 雄辩者对不起.. 它可以正常工作。谢谢