我尝试在Laravel 5.2的Dropdown中从数组中显示数据。这是我的数组的样子:
这是另一个来自我的控制器的return
数组数据的演示文稿。
以下是我的观点的样子,我想要创建的简单下拉列表:
<select class="form-control" name="service_id">
<option value="">Select...</option>
@foreach($serviceslist as $serviceli)
<option value="{{$serviceli->id}}">
{{$serviceli->servicename}}
</option>
@endforeach
</select>
laravel中的控制器功能如下:
public function create()
{
$services = $this->getCategories();
return View::make('services.create')->with('serviceslist', $services);
}
private function getCategories($parentId = 0)
{
$categories = [];
foreach(Services::where('service_id', $parentId)->get() as $category)
{
$categories[] = [
'item' => $category,
'children' => $this->getCategories($category->id)
];
}
return $categories;
}
这里我在同一个控制器中创建了一个函数getCategory()
来创建数组。
当我运行代码时,我收到此错误。
Trying to get property of non-object (View: /Applications/MAMP/htdocs/laravelCRM/resources/views/services/create.blade.php)
我尝试在我的视图(刀片模板)上执行getCollection()
,但它也没有用。这个问题在哪里?
谢谢! (提前)
答案 0 :(得分:0)
您正在将数组传递给视图而不是Collection的实例,因此您无法在阵列上运行getCollection()
。
将return $categories;
替换为return collect($categories);
您也可以return Collection::make($categories);