如何使用 Laravel 5.5 中的 JSON 指定数据填充 Form::select()

How to populate Form::select() with JSON specified data in Laravel 5.5

我在填充 Form::select() laravel 集合组件时遇到问题。

正如这个问题所描述的: Foreach inside a Form::select in Laravel 4

我没有用于获取数据的内置方法的模型,我正在使用 guzzle 通过自定义方法解析 json 数据,所以要么我没有 "pluck()" 方法来提取数据只有 something.so 的名字 还有其他方法吗?

目前我有这个,正在努力让它发挥作用:

public function create()
{
    //
    $cat_array = null;
    $categories = $this->categories->all();

    if($categories['success']){

      foreach ($categories['message'] as $category) {
        $cat_array = array(
          $category['cat_name'],
        );
      }

    }

    return view('admin.default.pages.categories.create', compact('cat_array'));
}

并创建自:

{{ Form::select('cat_parent_id', $cat_array, null, ['placeholder' => 'None']) }}

提前致谢!

您仍然可以使用收集方法,但您需要使用collect

手动进行收集
public function create()
{
    //
    $cat_array = null;
    $categories = $this->categories->all();

    if($categories['success']){
       $cat_array = collect($categories['message'])->pluck("cat_name")->all();
    }

    return view('admin.default.pages.categories.create', compact('cat_array'));
}