从另一个模型laravel-api-generator获取数据

时间:2015-10-04 01:37:50

标签: laravel

我正在使用https://github.com/mitulgolakiya/laravel-api-generator

我想从另一个模型中获取数据。插入帖子时选择类别数据。

PostController.php

class PostController extends AppBaseController
{

    /** @var  PostRepository */
    private $postRepository;

    /** @var  CategoriesRepository */
    private $categoriesRepository;

    function __construct(PostRepository $postRepo, CategoriesRepository $categoriesRepo)
    {
        $this->postRepository = $postRepo;
        $this->categoriesRepository = $categoriesRepo;
    }

    /**
     * Display a listing of the Post.
     *
     * @return Response
     */
    public function index()
    {
        $posts = $this->postRepository->paginate(10);
        $categories = $this->categoriesRepository->all('id', 'desc')->get();

        return view('posts.index')
            ->with('posts', $posts)
            ->with('categories', $categories);
    }

fields.blade.php

{!! Form::select('category_id', Categories::lists('name', 'id'), ['class' => 'form-control']) !!}

我该怎么做?谢谢!

2 个答案:

答案 0 :(得分:2)

您应该在控制器中创建列表并将其传递给视图。

public function index()
    {
        $posts = $this->postRepository->paginate(10);
        $categories = $this->categoriesRepository->all('id', 'desc')->get();
        $categoryList = [ '' => '--select--' ] + $categories->lists('name', 'id'); 
        return view('posts.index')
            ->with('posts', $posts)
            ->with('categories', $categories)
            ->with('categoryList', $categoryList);
    }

并使用此变量生成选择。

{!! Form::select('category_id', $categoryList, ['class' => 'form-control']) !!}

答案 1 :(得分:0)

我认为您应该使用ViewComposers并在fields.blade.php中传递类别列表数组。所以它不会直接影响你的模板或生成器。

每当你有一个要求,你总是要在任何视图中传递另一个模型的字段时,我认为你应该使用视图编辑器。