php - 从数据库填充选择选项 - laravel 5.2

标签 php laravel

我正在使用 Laravel Collective 和 Laravel 5.2...我在这方面有点陌生,所以如果有人可以提供帮助,我将不胜感激。 我想将数据填充到我的 View 中, 这是我的 Controller :

<?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>

我的问题是如何传递数据?我应该在 Controller 和 View 中写什么来连接它们?

最佳答案

关于您的评论。

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

已编辑

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' => 'Класът не е записан!'
    ]);
}

关于php - 从数据库填充选择选项 - laravel 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35457043/

相关文章:

php - Laravel 5.5,获取下一个/上一个 Eloquent 模型,按字母顺序排序 ‘slugs’

php - Laravel 同步不适用于空数组

javascript - laravel 如何链接外部 javascript 文件

拉维尔 5.4 : select the records that's within 2 days only

php - ID生成算法类似于youtube的生成

php - 当我上传文件时整个网站崩溃

php - 在 mysql 中更新查询

php - mysqli php 选择最近的条目 asc

php - laravel 4 中的每周电子邮件通讯

laravel - 访问中继器内的父架构值 - 灯丝