0

我对 laravel 完全陌生,我现在想使用 laravel 4。

假设我有一个页面 A.php,它包含一个表单和一个提交按钮。在我向 B.php 提交发布请求后,在 B.php 中我从数据库中查询数据。

我的问题是我想在 B.php 上显示我的结果,也就是说 A.php 请求的同一页面,我如何在 routes.php 中写入。

我的代码:master.blade.php

<!DOCTYPE HTML>
<html>
   <head>
       <metacharset="UTF-8">
       <title>course query</title>
   </head>
   <body>
        <div class="container">
            @yield('container')
        </div>

        <h1 class="ret">The result is:
            @yield('ret')
            <input id="result" type="text"/>
        </h1>
   </body>
</html>

一个.php

@extends('course.master')

@section('container')
    <h1>My Courses</h1>
    {{Form::open(array('url' => 'csOp'))}}
        {{Form::label('course', 'Your course')}}
        {{Form::text('course')}}
        {{Form::submit('Submit')}}
    {{Form::close()}}
@endsection

路由.php

Route::get('course', function(){
    return View::make('course.B');
});

Route::post('csOp', function(){
    // do something
    //$inputCourse = Input::get('course');    
    //$records = Courses::where('name', '=', $inputCourse)->get();

    // how do I return
    //return View::make('csOp', $records);
});

如您所见,在 A.php 中,我有一个表单和请求csOp

Form::open(array('url' => 'csOp')

csOp 是 B.php,在 B.php 中我从 db 查询数据,现在我得到了结果,但是如何将结果放到页面(B.php)本身?也就是说我想把结果放到

<input id="result" type="text"/>

你知道在 jquery 中很简单,我如何在 laravel 4 中使用它?

而如果返回csOp,绝对会报错,在循环中。那么我该如何解决呢?

非常感谢。

4

1 回答 1

1

如果您想根据模型内容填充表单,即 使用数据库数据填充表单。

所以在 laravel 中你可以使用Form Model Binding。为此,请使用该Form::model方法。所以在你的情况下

Route::post('csOp', function(){
// do something
$inputCourse = Input::get('course');    
$records = Courses::where('name', '=', $inputCourse)->get();

// how do I return
return View::make('csOp')->with('records',$records);
});

和你的csOp.blade.php

@extends('course.master')

@section('container')
<h1>My Courses</h1>
{{Form::model($records,array('url' => 'csOp'))}}
    {{Form::label('course', 'Your course')}}
    {{Form::text('course')}}

{{Form::close()}}
@endsection

现在,当您生成表单元素(如文本输入)时,与字段名称匹配的模型值将自动设置为字段值。因此,例如,对于名为 course 的文本输入,Courses 模型的 course 属性将被设置为值。

于 2013-07-09T16:45:02.747 回答