【问题标题】:Passing database data from controller to view in Laravel将数据库数据从控制器传递到 Laravel 中的视图
【发布时间】:2017-12-02 17:54:59
【问题描述】:

我正在尝试将我的数据从控制器传递到我的视图。

--------edit_request.blade.php--------

@extends('layout')

@section('content')


<div class="box box-primary">
    <div class="box-header">
        <h3 class="box-title"><?= $title ?></h3>
    </div><!-- /.box-header -->
    <!-- form start -->
    <form method="post" id="main-form" action=""  enctype="multipart/form-data">
        <input type="hidden" name="id" value="???">

        <div class="box-body">
            <div class="form-group">
                <label>Driver's name</label>
                <input type="text" class="form-control" name="first_name" value="???" placeholder="Driver's name" disabled>
        </div>

    </div>
</div>


@stop

我的数据应该来自我的数据库,我不知道如何在我的控制器中构造它。

--------AdminController.php---------

public function edit_request($id){
$walker= DB::table('walker')->get();
$awlker= array('first_name'  => $first_name,'last_name' => $last_name);
return View::make('edit_request')->with($walker);
}

【问题讨论】:

  • 您正在视图上添加控制器操作,这是一个非常糟糕的做法,查询必须在控制器上进行。
  • 有什么建议我该如何正确编码?

标签: php sql laravel controller views


【解决方案1】:

你应该像这样更新你的代码:

@extends('layout')

@section('content')


<div class="box box-primary">
    <div class="box-header">
        <h3 class="box-title"><?= $title ?></h3>
    </div><!-- /.box-header -->
    <!-- form start -->
    <form method="post" id="main-form" action=""  enctype="multipart/form-data">
        <input type="hidden" name="id" value="{{$walker->id}}">

        <div class="box-body">
            <div class="form-group">
                <label>Driver's name</label>
                <input type="text" class="form-control" name="first_name" value="{{$walker->first_name}}" placeholder="Driver's name" disabled>
        </div>

    </div>
</div>


@stop

public function edit_request($id){
 $walker= DB::table('walker')->where('id',$id)->first();

 return View::make('edit_request',compact('walker'));
}

希望这对你有用!

【讨论】:

    【解决方案2】:

    你应该可以做这样的事情:

    在 AdminController.php 中

    $select_names = Walker::pluck('name', 'id')->toArray();
    $walker = Walker::findOrFail($id);
    
    return View::make('edit_request')->with($walker)->with($select_names);
    

    在edit_request.blade.php中

    <div class="form-group">
    {{ Form::label('Select Driver') }}
    {{ Form::select('driver', $select_names, null, array('class'=>'form-control', 'placeholder'=>'Please select ...')) }}
    </div>
    

    您可以在https://laravelcollective.com/docs/master/html#form-model-binding 阅读更多关于表单模型绑定和 Laravel 集体的信息

    【讨论】:

      猜你喜欢
      • 2017-01-29
      • 2015-07-25
      • 2019-04-15
      • 1970-01-01
      • 2015-08-13
      • 2021-02-09
      • 2017-09-03
      • 2016-01-30
      相关资源
      最近更新 更多