填充db - laravel 5.2

时间:2016-02-17 12:41:25

标签: php laravel

我正在使用Laravel Collective和Laravel 5.2 ......我对此有点新意,所以如果有人可以提供帮助,我将不胜感激。 我想在我的视图中填充数据, 这是我的控制器:

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

use App\Http\Requests\SaveProfileRequest;
use App\Http\Requests;
use App\Clas;
use App\Profile;
use App\Http\Controllers\Controller;


class ClassesController extends Controller
{
    public function getIndex() {
        return view('admin.classes.list', [
            'classes' => Clas::get()
        ]);
    }



    public function postIndex(Request $request) {
        $class = Clas::create([
            'profile_id'=> 
            'name' => $request ->input('class-name'),
        ]);

        if($class->id) {
            return redirect()->back()->with('message', [
                'type'=> 'success',
                'message' => 'Успешно записан нов клас!'

            ]);
        }

        return redirect()->back()->with('message', [
            'type'=> 'danger',
            'message' => 'Класът не е записан!'
        ]);
    }
}

在我的视图中我有这个

<div class="panel-body">
    {!! Form::open(['method' => 'post', 'class' => 'form-horizontal']) !!}
    <div class="form-group">
        {!! Form::label('class-name','Клас:', ['class' => 'control-label col-md-3']) !!}
        <div class="col-md-6">
            {!! Form::text('class-name', null,['class' => 'form-control', 'placeholder' => 'например: 8а' ]) !!}
        </div>
    </div>
    <div class="form-group">
        {!! Form::label('profile-name','Избери профил:', ['class' => 'control-label col-md-3']) !!}
        <div class="col-md-6">
            {!! Form::select('profile-name') !!}
        </div>
    </div>

    <div align="center">
        {!! Form::submit('Запиши', ['class' => 'btn btn-default']) !!}
    </div>
    {!! Form::close() !!}
</div>

我的问题是如何传递数据?我应该在控制器和视图中写什么来连接它们?

2 个答案:

答案 0 :(得分:0)

查看https://laravel.com/docs/5.0/views#basic-usage

您可以通过调用函数view( string $script, array $viewVariables )

来传递视图变量

答案 1 :(得分:0)

关于你的评论。

这会向视图返回一个列表(数组):

EDITED

public function getIndex() {
    return view('admin.classes.list', [
       //'classes' => Clas::get() //returns object, profile
       'profiles' => Profile::lists('name', 'id');  //returns array
    ]);
}

使用profile_id和name列表填充选择菜单 注意:我将profile-name更改为profile_id

<div class="form-group">
    {!! Form::label('profile_id','Избери профил:', ['class' => 'control-label col-md-3']) !!}
    <div class="col-md-6">
        {!! Form::select('profile_id', $profiles) !!}
    </div>
</div>

然后你的postIndex:

public function postIndex(Request $request) {
    $class = Clas::create([
        'profile_id'=> $request->get('profile_id'),
        'name' => $request ->input('class-name'),
    ]);

    if($class->id) {
        return redirect()->back()->with('message', [
            'type'=> 'success',
            'message' => 'Успешно записан нов клас!'

        ]);
    }

    return redirect()->back()->with('message', [
        'type'=> 'danger',
        'message' => 'Класът не е записан!'
    ]);
}